Men efter första SQL satsen längst upp har du en IF-sats, IF session("vote") = "yes" THEN... sen slutar asp koden fast du har ingen END IF. Men om du använder session.abandon kommer koden aldrig dit, så det är inte så konstigt att den delen fungerar.
Sen undrar jag hur du har tänkt dig ha en response.redirect tagg om man har röstat och sen skriva "you have already voted"!? Har man röstat förflyttas man ju till en annan sida och då ser man ju inte den texten iallafall!
Hajar du!? Du dunkar in all kod i en variabel och det sista du gör på sidan är att skriva ut den variabeln. Gör du så har du opimerat din sida järnet! Med ditt tillvägagångssätt uppfattas till och med SQL Server 7 som seg.
---
Dessutom kan du med fördel använda namnet "SQL" vid samtliga SQL satser på din sidan. Ovan har du SQL, esskuell och WTF. Det sista kan jag bara tyda som what the fuck...
Oavsett vilket kan du med fördel skriva SQL på de platserna. Det har ingen som helst skillnad rent prestandamässigt men man bör nog eftersträva kontinuitet i koden om så är möjligt.
okej... tror jag fixat till så att koden ser lite bättre ut nu... men fortfarande... när Session("vote") = "yes" så står burken bara å tuggar då man reloadar pollen, istället för att den hoppar till resultatet... varför?
<%@ Language = VBScript %>
<% Option Explicit %>
<% Response.Buffer = "True" %>
<% Session.lcid = 1053 %>
<% Dim strDSN, cn, rs, SQL, Alt1, Alt2, Total, Proc1, Proc2 %>
<!-- #include file="top1.asp" -->
<html>
<head>
<title> .oblivion - main </title>
<link type="text/css" rel="stylesheet" href="../oblivion.css">
</head>
<body background="../img/bg.gif" topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0">
<%
' Om personen har röstat så ska den skickas vidare till resultatet direkt!
' ------------------------------------------------------------------------
If Session("vote") = "yes" Then
SQL = "SELECT TOP 1 * FROM poll ORDER BY pID DESC"
Set rs = cn.Execute(SQL)
Response.Redirect "poll.asp?voteyeah="& rs("pID") &""
' Då personen svarar på frågan så skickas den hit och vidarebefodras till resultaten!
' -----------------------------------------------------------------------------------
ElseIf Request.Querystring("svar") <> "" Then
If Request.Querystring("svar") = rs("pAlt1") Then
Alt1 = rs("pAlt1Roster")+1
SQL = "UPDATE poll SET pAlt1roster = "& Alt1 &" WHERE pID = "& Trim(Request.Querystring("tillfraga")) &""
ElseIf Request.Querystring("svar") = rs("pAlt2") Then
Alt2 = rs("pAlt2Roster")+1
SQL = "UPDATE poll SET pAlt2roster = "& Alt2 &" WHERE pID = "& Trim(Request.Querystring("tillfraga")) &""
End If
Set rs = cn.Execute(SQL)
SQL = "SELECT * FROM poll WHERE pID = "& Trim(Request.Querystring("tillfraga")) &" ORDER BY pID DESC"
Set rs = cn.Execute(SQL)
Session("vote") = "yes"
Response.Redirect "poll.asp?voteyeah="& rs("pID") &""
' Nedan redovisas resultaten!
' ---------------------------
ElseIf Request.Querystring("voteyeah") <> "" Then
SQL = "SELECT TOP 1 * FROM poll WHERE pID = "& Trim(Request.Querystring("voteyeah")) &" ORDER BY pID DESC"
Set rs = cn.Execute(SQL)
Total = rs("pAlt1Roster") + rs("pAlt2Roster")
Proc1 = Round((rs("pAlt1Roster") / Total) * 100, 0)
Proc2 = 100 - Proc1
Dim wFraga, wResAlt1, wResAlt2, wTotal
wFraga = ""& rs("pFraga") &"<br><br>" & vbCRLF
wResAlt1 = ""& rs("pAlt1") &" - <b>"& Proc1 &"</b> <i>("& rs("pAlt1Roster") &" votes)</i><br>" & vbCRLF
wResAlt2 = ""& rs("pAlt2") &" - <b>"& Proc2 &"</b> <i>("& rs("pAlt2Roster") &" votes)</i><br>" & vbCRLF
wTotal = "<br>Total numer of votes: <b>"& Total &"</b>"
Response.Write wFraga
If rs("pAlt2Roster") > rs("pAlt1Roster") Then
Response.Write wResAlt2
Response.Write wResAlt1
Else
Response.Write wResAlt1
Response.Write wResAlt2
End If
Response.Write wTotal
' Delen där själva frågan ställs
' ------------------------------
Else
SQL = "SELECT TOP 1 * FROM poll ORDER BY pID DESC"
Set rs = cn.Execute(SQL) %>
<p align="justify"><%= rs("pFraga") %></p>
<center><a href="poll.asp?svar=<%= rs("pAlt1") %>&tillfraga=<%= rs("pID") %>"><%= rs("pAlt1") %></a> |
<a href="poll.asp?svar=<%= rs("pAlt2") %>&tillfraga=<%= rs("pID") %>"><%= rs("pAlt2") %></a><br>
<br>
<a href="poll.asp?voteyeah=<%= rs("pID") %>">View results</a></center><br>
<img src="../img/line.gif" height="1" width="98%" border="0">
<% End If %>
</body>
</html>