Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

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

None
6 antwoorden
  • 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?
  • Ik denk dat je het te moeilijk aanpakt, het zijn zeer simpele vragen die ook nog eens allemaal over dezelfde "categorie" gaan. Waarom dan drie pagina's? Op die manier maak je het jezelf en bovenal de gebruiker _zeer_ onnodig lastig. Bij een enquete op papier staat er toch ook niet één vraag per pagina?
  • 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.
  • [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 ;)
  • [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"
  • Thanx Annie, super, zoals altijd, weer een simpele oplossing voor een complex probleem, 2 haakjes plaatsen.

    Keep up the good work.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.