Ga naar inhoud

ASP-Enquete - voor de puzzelaars onder onder ons....


anoniem

Aanbevolen berichten

Ik heb een asp-webpagina waarop ik een enquete heb geplaatst. Het betreft 3 vragen. Ik heb echter een vraag-rotatie ingebouwd, zodat op de pagina, maar altijd 1 vraag staat. Deze vraag is random (dus 1,2 of 3). Zodra de bezoeker een vraag beantwoord, worden de gegevens naar een Access200 database geschreven en verschijnt er op dezelfde pagina een berichtje dat de gegevens succesvol zijn verzonden. Nu wil ik echter dat deze pagina alleen de andere 2 vragen nog maar laat zien. En wanneer er 2 vragen beantwoord zijn dat hij alleen nog maar de overgebleven vraag laat zien. En als alle 3 de vragen beantwoord zijn dat hij geen vragen meer laat zien. Nu ben ik al flink bezig geweest en heb de volgende code, probleem is dat hij nu geen vragen laat zien, terwijl de SESSION-variabelen nog leeg zijn. [code:1:11570962f3]<HTML> <HEAD> <TITLE></TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> </HEAD> <BODY TEXT="#000000" bgcolor="#FFCC66"> <% IF NOT SESSION("Leeftijd") = "Gedaan" AND SESSION("Geslacht") = "Gedaan" AND SESSION("Hoe") = "Gedaan" THEN Leeftijd = REQUEST.FORM("Leeftijd") Geslacht = REQUEST.FORM("Geslacht") Hoe = REQUEST.FORM("Hoe") IF NOT Leeftijd = "" AND Geslacht = "" AND Hoe = "" THEN IF Leeftijd <> "" THEN SESSION("Leeftijd") = "Gedaan" END IF IF Geslacht <> "" THEN SESSION("Geslacht") = "Gedaan" END IF IF Hoe <> "" THEN SESSION("Hoe") = "Gedaan" END IF ' Create the instance of Connection Object and then ' open the database Set con = Server.CreateObject("ADODB.Connection") con.Open "dsnnaam" ' Our SQL statements sql_insert = "INSERT INTO tblEnquetes ( Leeftijd, Geslacht, Hoe ) values ('" & Leeftijd & "', '" & Geslacht & "', '" & Hoe & "')" con.Execute sql_insert Response.Write "<BR>Dank je wel.<BR>" RESPONSE.WRITE "<BR>" RESPONSE.WRITE "De gegevens zijn goed ontvangen<br>" END IF %> <% RANDOMIZE LowestNumber = 1 HighestNumber = 3 IF SESSION("Geslacht") = "Gedaan" AND SESSION("Hoe") = "Gedaan" THEN RandomNumber = 1 ELSEIF SESSION("Leeftijd") = "Gedaan" AND SESSION("Hoe") = "Gedaan" THEN RandomNumber = 2 ELSEIF SESSION("Leeftijd") = "Gedaan" AND SESSION("Geslacht") = "Gedaan" THEN RandomNumber = 3 ' deze situatie als alleen Hoe is ingevuld ELSEIF SESSION("Leeftijd") = "Gedaan" THEN LowestNumber = 2 RandomNumber = INT((HighestNumber-LowestNumber+1)*Rnd+LowestNumber) ' deze situatie als alleen Leeftijd is ingevuld ELSEIF SESSION("Hoe") = "Gedaan" THEN HighestNumber = 2 RandomNumber = INT((HighestNumber-LowestNumber+1)*Rnd+LowestNumber) ' deze situatie als alleen Geslacht is ingevuld ELSEIF SESSION("Geslacht") = "Gedaan" THEN RandomNumber = 2 While RandomNumber = 2 RandomNumber = INT((HighestNumber-LowestNumber+1)*Rnd+LowestNumber) WEND ' deze situatie als er nog niets is ingevuld ELSEIF SESSION("Leeftijd") = "" AND SESSION("Geslacht") = "" AND SESSION("Hoe") = "" THEN RandomNumber = INT((HighestNumber-LowestNumber+1)*Rnd+LowestNumber) SELECT CASE RandomNumber CASE "1"%> <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><br> Om je nog beter van dienst te kunnen zijn, zouden we graag weten wat je leeftijd is.</font><br> <table width="100%"> <tr valign="top"> <td width="23%" height="25"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><br> <br> Ik ben tussen de </font></td> <td width="1%" height="25">&nbsp;</td> <td width="76%" height="25"> <br> <form name="form2" method="post" action=""> <select name="Leeftijd"> <option value=" "> </option> <option value="0 - 18 jaar">0 - 18 jaar</option> <option value="18 - 25 jaar">18 - 25 jaar</option> <option value="25 - 30 jaar">25 - 30 jaar</option> <option value="30 - 35 jaar">30 - 35 jaar</option> <option value="35 - 40 jaar">35 - 40 jaar</option> <option value="40 - 45 jaar">40 - 45 jaar</option> <option value="45 - 50 jaar">45 - 50 jaar</option> <option value="50 - 55 jaar">50 - 55 jaar</option> <option value="55 - 60 jaar">55 - 60 jaar</option> <option value="60 - 65 jaar">60 - 65 jaar</option> <option value="65 jaar en ouder">65 jaar en ouder</option> </select> <input type="submit" name="Submit" value=".: Versturen :."> </form></td> </tr> </table> <%CASE "2"%> <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><br> Om je nog beter van dienst te kunnen zijn, zouden we graag weten of je een man bent of een vrouw.</font><br> <table width="100%"> <tr valign="top"> <td width="16%" height="25"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><br> <br> Ik ben een</font></td> <td width="2%" height="25">&nbsp;</td> <td width="82%" height="25"> <br> <form name="form2" method="post" action=""> <select name="Geslacht"> <option value=" "></option> <option value="Man">Man</option> <option value="Vrouw">Vrouw</option> </select> <input type="submit" name="Submit" value=".: Versturen :."> </form></td> </tr> </table> <%CASE "3"%> <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><br> Om je nog beter van dienst te kunnen zijn, zouden we graag weten hoe je op deze website terecht bent gekomen.</font><br> <table width="100%"> <tr valign="top"> <td height="25"> <br> <form name="form2" method="post" action=""> <select name="Hoe"> <option value=" "></option> <option value="Gehoord van iemand">Gehoord van iemand</option> <option value="Via een link">Via een link</option> <option value="Gelezen in de pers">Gelezen in de pers</option> <option value="Via een zoekmachine">Via een zoekmachine</option> </select> <input type="submit" name="Submit" value=".: Versturen :."> </form> </td> </tr> </table> <%END SELECT%> <% END IF ' van het hele zootje END IF %> </BODY> </HTML>[/code:1:11570962f3] Wat doe ik verkeerd?
Link naar reactie
Hi Bill, FF tussendoor, 7.000+ berichten? Je bent zeker niet getrouwd en geen kinderen :-) Ok gaan we: Het idee achter mijn systeem is dat een bezoeker maar 1 antwoord hoeft tegeven ipv 3, dat is dus drempelverlagend. Bovenstaande code is onderdeel van een hele pagina waar veel info op staat. De enquete vragen worden tussen door gesteld. Het werkt op zich prima, alleen krijgt de bezoeker op verschillende pagina's die hij bezoekt, dezelfde vraag terug. En dat wil ik voorkomen. Als hij alle vragen heeft beantwoord, dan wordt hij helemaal niet meer lastig gevallen met enquetevragen. Dat is wat ik graag wil bereiken.
Link naar reactie
[quote:3a0fe48cf0="Johant"]FF tussendoor, 7.000+ berichten? Je bent zeker niet getrouwd en geen kinderen :-)[/quote:3a0fe48cf0]Dat heb je helemaal goed, blij toe ook trouwens ;) [quote:3a0fe48cf0="Johant"]Het idee achter mijn systeem is dat een bezoeker maar 1 antwoord hoeft tegeven ipv 3, dat is dus drempelverlagend. Bovenstaande code is onderdeel van een hele pagina waar veel info op staat. De enquete vragen worden tussen door gesteld.[/quote:3a0fe48cf0]Ow, zeg dat dan ;) Het kwam bij mij over als of je een enquete ging houden en vervolgens random 3 vragen achter elkaar ging vragen. Vervolgens heb ik geen oplossing ;)
Link naar reactie
[quote:cf8fbd262c="Johant"]Nu ben ik al flink bezig geweest en heb de volgende code, probleem is dat hij nu geen vragen laat zien, terwijl de SESSION-variabelen nog leeg zijn. [/quote:cf8fbd262c] Als je session variabelen nog leeg zijn dan zal onderstaande natuurlijk nooit naar true evalueren. [code:1:cf8fbd262c] IF NOT SESSION("Leeftijd") = "Gedaan" AND SESSION("Geslacht") = "Gedaan" AND SESSION("Hoe") = "Gedaan" THEN [/code:1:cf8fbd262c] Namelijk: NOT SESSION("Leeftijd") = "Gedaan" [color=blue:cf8fbd262c]--> NOT false --> true[/color:cf8fbd262c] SESSION("Geslacht") = "Gedaan" [color=blue:cf8fbd262c]--> false[/color:cf8fbd262c] SESSION("Hoe") = "Gedaan" [color=blue:cf8fbd262c]--> false[/color:cf8fbd262c] dus: [color=blue:cf8fbd262c]true[/color:cf8fbd262c] AND [color=blue:cf8fbd262c]false[/color:cf8fbd262c] AND [color=blue:cf8fbd262c]false[/color:cf8fbd262c] --> [color=blue:cf8fbd262c][b:cf8fbd262c]false[/b:cf8fbd262c][/color:cf8fbd262c] Waarschijnlijk bedoel je dit [code:1:cf8fbd262c] IF NOT ( SESSION("Leeftijd") = "Gedaan" _ AND SESSION("Geslacht") = "Gedaan" _ AND SESSION("Hoe") = "Gedaan" ) _ THEN [/code:1:cf8fbd262c]
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...