webForumDet fria alternativet

Poll-system fungera inte

6 svar · 244 visningar · startad av voigtann1

voigtann1Medlem sedan juni 20019 519 inlägg
#1
<%
cookie = "exis"

SQL = "SELECT TOP 1 * From fragor ORDER BY id DESC" 
Set poll = Databas.Execute(SQL)
  IF poll.EOF then
    response.write "Ingen Poll"
  ELSE
    k_id = poll("ID")
    namn = poll("namn")
  end if
poll.Close : set poll = nothing

SQL = "SELECT count(*) as Raknare From svar WHERE koppling = " & k_id
Set p = Databas.Execute(SQL)
  if not p.eof then
    antalroster = p("raknare")
  end if
p.close : set p = nothing

if request.querystring("poll") = "vote" then
  val = cint(Request.Form("choose"))
  IF val = "" then
    Response.Redirect "default.asp?poll=resultat"&what
  END IF

  IF Request.Cookies(""&cookie&"")("poll") = Request("id") then
    Session(""&cookie&"today") = Request.querystring("id")
    Response.Redirect "default.asp?poll=resultat&link=" &request.querystring("link") & what
  ELSEIF Session(""&cookie&"today") = Request("id") then
    Response.Redirect "default.asp?poll=resultat&link=" &request.querystring("link") & what
  ELSE
    iid = Request.querystring("id")
    SQL = "UPDATE svar SET roster = roster+1 WHERE koppling =" & iid & " AND id = " & val 
    Response.Cookies(""&cookie&"")("poll") = iid
    Response.Cookies(""&cookie&"").Expires = DateAdd("h", 24, now)
    Session(""&cookie&"today") = iid
    Response.Redirect "default.asp?poll=resultat&link=" &request.querystring("link") & what
  END IF
end if

  if not request.querystring("poll") = "resultat" then
    SQL = "SELECT * From svar WHERE koppling = " & k_id
    Set poll2 = Databas.Execute(SQL)

    response.write "<table border='0' cellspacing='0' cellpadding='0'>" &_
    "<form name='poll' method='post' action='default.asp?poll=vote&id="&k_id&"&link=" &request.querystring("link") & what& "'>" &_
    "<tr><td colspan='2'><font align='right'><b>" &namn& "</b></font></td></tr>"

    Do Until poll2.EOF
      response.write "<tr><td colspan='2' align='right'>" &poll2("namn")& "<input type='radio' name='choose' value='" &poll2("id")& "'></td></tr>"
      poll2.MoveNext
    Loop
    poll2.Close
    set poll2 = nothing

    response.write "<tr>" &_
    "<td align='left'><a href='?link=" &request.querystring("link") & what& "&poll=resultat'>Resultat</a></td>" &_
    "<td align='right'><a href='javascript:document.poll.submit();'>Rösta</a></td>" &_
    "</form></tr>" &_
    "</table>"
  else
    SQL = "SELECT * From svar WHERE koppling = " & k_id
    Set RecSet2 = databas.Execute(SQL)

    totalt = 0
      Do until RecSet2.EOF
        totalt = totalt + RecSet2("roster")
      RecSet2.MoveNext
      Loop
      RecSet2.Close
    response.write "<B>" &namn& "</B>" &_
                   "<table>"
    SQL = "SELECT * From svar WHERE koppling = " & k_id
    Set poll2 = Databas.Execute(SQL)
      Do Until poll2.EOF
        response.write "<tr>" &_
                       "<td width='110' colspan='2'><font class='font' title='"&poll2("roster")&" st röster'>" &poll2("namn")&"</font><br>"
        antal = poll2("roster")
          IF totalt = 0 then
            procent = 0
          ELSE
            procent = antal/totalt*100
          END IF
          procent = procent + 1
          Response.Write "<font title='" & Round(procent,0) + (-1) & "%'>" &_
                         "<img src='stat.gif' width='" & procent & "%' height='4' border='0' id='img'></a></td></tr>"
        poll2.movenext
      loop
    response.write  "<td align='right'><font><i>röster: </i>"&totalt&"</font></td><td><a href='?link=" &request.querystring("link") & what& "'>Tillbaka</a></td>"
    response.write "</table>"
  end if
%>

Det är inget error eller något jag får... det är bara att den inte vill +1 på några av alternativen... har kollat nu ett tag och fattar inte vad felet är.

Jesper TMedlem sedan nov. 20017 144 inlägg
#2

Skall det inte vara ElseIF här?:

 IF Request.Cookies(""&cookie&"")("poll") = Request("id") then
    Session(""&cookie&"today") = Request.querystring("id")
    Response.Redirect "default.asp?poll=resultat&link=" &request.querystring("link") & what
  ELSEIF Session(""&cookie&"today") = Request("id") then
    Response.Redirect "default.asp?poll=resultat&link=" &request.querystring("link") & what
 [b][3] [red]ELSEIF[/red][/3][/b]
    iid = Request.querystring("id")
    SQL = "UPDATE svar SET roster = roster+1 WHERE koppling =" & iid & " AND id = " & val 
    Response.Cookies(""&cookie&"")("poll") = iid
    Response.Cookies(""&cookie&"").Expires = DateAdd("h", 24, now)
    Session(""&cookie&"today") = iid
    Response.Redirect "default.asp?poll=resultat&link=" &request.querystring("link") & what
  END IF
LeonLMedlem sedan dec. 20025 871 inlägg
#3

Nej, det räcker med Else ;)

LeonLMedlem sedan dec. 20025 871 inlägg
#4

Jag gissar på att du har testat scriptet ett X antal gånger och att en cookie redan har skapats... Du kanske ska ta bort cookien och försöka igen? :)
Och så fattar jag inte riktigt den här: :)

  val = cint(Request.Form("choose"))
  IF val = "" then
    Response.Redirect "default.asp?poll=resultat"&what
  END IF

Om Request.Form("choose") skulle vara tomt, då skulle väl du få ett felmeddelande från funktionen CInt? ;)

voigtann1Medlem sedan juni 20019 519 inlägg
#5

LeonL: provade att ändra om:

cookie = "exis"

med

cookie = "exis_test_fungera"

men icke

LeonLMedlem sedan dec. 20025 871 inlägg
#6

Är du säker på att Request.Querystring("poll") = "vote" då?

voigtann1Medlem sedan juni 20019 519 inlägg
#7
if request.querystring("poll") = "vote" then
  val = cint(Request.Form("choose"))
  IF val = "" then
    Response.Redirect "default.asp?poll=resultat"&what
  END IF

  IF Request.Cookies(""&cookie&"")("poll") = Request("id") then
    Session(""&cookie&"today") = Request.querystring("id")
    Response.Redirect "default.asp?poll=resultat&link=" &request.querystring("link") & what
  ELSEIF Session(""&cookie&"today") = Request("id") then
    Response.Redirect "default.asp?poll=resultat&link=" &request.querystring("link") & what
  ELSE
    iid = Request.querystring("id")
    SQL = "UPDATE svar SET roster = roster+1 WHERE koppling =" & iid & " AND id = " & val 
    Response.Cookies(""&cookie&"")("poll") = iid
    Response.Cookies(""&cookie&"").Expires = DateAdd("h", 24, now)
    Session(""&cookie&"today") = iid
    Response.Redirect "default.asp?poll=resultat&link=" &request.querystring("link") & what
  END IF
end if

det är väll här felet bör finnas... och:

    "<form name='poll' method='post' action='default.asp?poll=vote&id="&k_id&"&link=" &request.querystring("link") & what& "'>" &_

Så action stämmer ju..

144 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)