Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274

    Impedire doppia votazione

    Ho cercato in giro ed ho trovato poco.

    Vorrei impedire di far votare duevolte un sondaggio con i cokkies.

    lo script è questo:
    codice:
    <%
    }
    
    var votato = false;
    var id = 0;
    
    var sql = "";
    sql += "SELECT * FROM Domande "
    sql += "ORDER BY Data DESC";
    
    var ADOConnection = new ActiveXObject("ADODB.Connection");
    ADOConnection.Open(sdc);
    var recSet = ADOConnection.Execute(sql);
    
    if (recSet.EOF)
      generaErrore("nessun sondaggio in corso");
    else {
      id = parseInt(recSet("ID"));
          scelta = parseInt(Request.Form("scelta"));
        if (isNaN(scelta))
          generaErrore("non hai espresso una preferenza");
        else {
          sql2 = "";
          sql2 += "SELECT * FROM Risposte ";
          sql2 += "WHERE ID = " + scelta + " AND ";
          sql2 += "DomandaID = " + id;
          ADORecordset = new ActiveXObject("ADODB.Recordset");
          ADORecordset.Open(sql2,ADOConnection,1,3);
          if (ADORecordset.EOF)
            generaErrore(
              "voto non valido, torna indietro ed aggiorna la pagina"
            );
          else {
            ADORecordset("Voti")++;
            ADORecordset.Update();
            Session("sondaggio") = id;
            votato = true;
          }
          ADORecordset.Close();
        }
      }
    
    ADOConnection.Close();
    
    if (votato) Response.Redirect("risultati.asp?id=" + id);
    %>
    cosa modifico-aggiungo?

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274
    è sufficiente inserire
    codice:
    var controlla = Request.Cookies("CookieSondaggio");
    ???

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274
    invece questo è il form per la votazione
    codice:
    <form action="vota.asp" method="POST" style="background-color: #83A5D2">
    <div align="center">
      <center>
    <table border="0"
           cellspacing="0"
           cellpadding="3" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#83A5D2">
      <tr align="center" valign="middle" bgcolor="#FFFFFF">
        <td colspan="2" bgcolor="#83A5D2"><font size="3"><%=recSet("Domanda")%></font></td>
      </tr>
      <%
      while (!recSet2.EOF) {
      %>
      <tr valign="middle" bgcolor="#FFFFFF">
        <td align="center" width="25" bgcolor="#83A5D2">
          <input type="radio"
                 name="scelta"
                 value="<%=recSet2("ID")%>">
        </td>
        <td align="left" bgcolor="#83A5D2" ><font size="2"><%=recSet2("Risposta")%></font></td>
      </tr>
      <%
        recSet2.MoveNext();
      }
      %>
    </table>
      </center>
    </div>
    <div style="width: 722; height: 11"></div>
    <div align="center"><input type="image"
                               src="vota.gif"
                               border="0"
                               width="71"
                               height="28"
                               alt="VOTA"> </div>
    </form>

  4. #4
    se io ti cancello il cookie ti voto quante volte mi pare... mo non so, ho fai registrare gli utenti e salvi il loro voto nel database, oppure chiedi l'email e salvi il voto associato all'email, se l'email ha già votato non la fai rivotare.. il cookie non regge
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274
    si ho letto in giro, ma non è nulla di importante, non mi serve mica per votazioni valide per il presidente del consiglio..

    attendo ancora istruzioni sui cookies!

    Grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.