× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum des Webmasters
 Paramétrage cookie sur système de vote
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
fred1254
  Posté le 03/04/2008 @ 08:23 
Aller en bas de la page 
Petit astucien

Bonjour,

j'ai un système de vote en place (trouvé sur http://www.asp-php.net/scripts/asp-php/vote.php) que j'ai adapté pour mon site, il est très bien par contre il crée un cookie qui empêche de voter plusieurs fois, le vote étant destiné aux enfants je souhaiterais les laisser voter autant de fois qu'ils le souhaitent. je mets le code de ma page ci-dessous, si quelqu'un a une idée de ce que je dois changer merci de m'en faire part :-). J'ai bien entendu essayer de modifier moi-même le code mais je n'arrive pas au résultat voulu.

<html>
<head>
<title>Votez pour votre affiche pr&eacute;f&eacute;r&eacute;e</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function Retour (fichier,w,h) {
ff=window.open(fichier,"new","toolbar=no,scrollbars=no,left=340,top=100,resizable=no"); if(ff) { ff.focus();ff.resizeTo(650,570) }
}
//-->
</script>
</head>
<body bgcolor="#b3dc10" text="#000000">
<table width="300" border="0" cellspacing="0" cellpadding="0" height="52">
<tr>
<td width="300" height="32">
<div align="center"><img src="Concours.gif" width="162" height="32"></div>
</td>
</tr>
<tr>
<td width="300" height="20">
<div align="center"><img src="Votez.gif" width="247" height="20"></div>
</td>
</tr>
</table>
<p>
<%@LANGUAGE="VBSCRIPT"%>
</p>
<table width="300" border="0" cellspacing="0" cellpadding="0" height="328">
<tr>
<td width="300" valign="top">
<!--#include file="../../../../db/Connections/VoteBDD.asp" -->
<%
SQL = "SELECT TOP 1 * FROM Questions " & _
"ORDER BY VoteDate DESC"
RSQuestions.open SQL, Conn, 3, 3
' on ne selectionne que le dernier sondage entré (top 1)

VoteID = RSQuestions("VoteID")
' on récupère l'ID du sondage, que l'on placera dans un cookie

VoteQuestion = RSQuestions("VoteQuestion")
' on récupère la question du sondage en cours


' --------------- Validation du formulaire ---------------
' si le formulaire est validé, on prepare la mise à jour de la table...
If Request.QueryString("valide") = "true" then

SQL = "UPDATE Reponses " & _
"SET Compteur = Compteur + 1 " & _
"WHERE VoteOptionID= " & _
Request.QueryString("choix") & ";"

If Int(Request.Cookies("VoteCookie")("VoteID")) <> VoteID then
' si le visiteur n'avait pas encore donné son avis pour ce vote... et on execute...

Conn.Execute SQL
Response.Cookies("VoteCookie").Expires = Now() + 7
'on autorise 1 vote tout les now() + x jours, à définir selon vos besoins
Response.Cookies("VoteCookie")("VoteID") = VoteID
Response.write " Le vote est validé. Merci!"

End if
End if
' ------------ Fin de validation du formulaire -----------


SQL = "SELECT * FROM Reponses " & _
"WHERE VoteID = " & VoteID
set RSReponses = Server.CreateObject("ADODB.Recordset")
RSReponses.Open SQL, Conn, 3, 3
' on extrait les réponses possibles pour ce sondage

Total = 0

While Not RSReponses.EOF
' on récupère le nombre de réponses totales données pour ce sondage
Total = Total + RSReponses("Compteur")
RSReponses.MoveNext
Wend


RSReponses.MoveFirst
' on se replace sur le 1er enregistrement


If Request.QueryString("voir") = "true" OR Request.QueryString("valide") = "true" _
OR cInt(Request.Cookies("VoteCookie")("VoteID")) = VoteID then
' --------------- Affichage des resultats ---------------
' si on a voté, déjà voté, ou demandé les résultats

' protection "Dépassement de capacité" d'un entier
' si l'on affiche les résultats et que personne n'a encore voté

If Total = 0 then
Response.write "Aucun vote !"
Else

' création de la table HTML
%>
<br>
<table width="302">
<tr>
<td colspan="3"> <%=VoteQuestion%> <br>
</td>
</tr>
<% while not RSReponses.EOF
pVotes = (RSReponses("Compteur") / Total) * 100
' pourcentage = (réponses pour la question / total réponses données) * 100
%>
<tr>
<td width="44"><%=RSReponses("VoteOption")%></td>
<td width='14'><img src='/Marches/voteASP/vote.gif' height='5' width='<%=Round(pVotes,0)%>'></td>
<td width="228"><%=Round(pVotes,1)%> %</td>
</tr>
<% RSReponses.movenext : wend
'on boucle sur les réponses en sortant leur désignation
' le pourcentage de vote arrondi et une barre graphique
%>
</table>
<br>
<% Response.write Total & " votes ont été effectués" : End If %>
<% Else
' --------------- Affichage du formulaire ---------------
' si le visiteur n'a pas encore voté
%>
<table width="302" align="center">
<form name="poll" action="vote.asp?voir=true" method="get">
<tr>
<td colspan="3"> <%=VoteQuestion%> </td>
</tr>
<% while not RSReponses.EOF
' on boucle sur les réponses, cette fois-ci dans un formulaire
' sous forme de bouton radio
%>
<tr>
<td width="176"><%=RSReponses("VoteOption")%></td>
<td width="114">
<input type="radio" name="choix" value="<%=RSReponses("VoteOptionID")%>">
</td>
</tr>
<% RSReponses.movenext : wend %>
<tr>
<td colspan="2">
<p align="center"><br>
<input type="submit" value="Voter!" name="submit">
<input type="hidden" name="valide" value="true">
<br>
<a href="vote.asp?voir=true">Voir les résultats</a> </p>
</td>
</tr>
</form>
</table>
<div align="center">
<% End if %>
<br>
<a href='JavaScript:Retour("concours.html")'><font face="Comic Sans MS, Verdana, Arial" size="2">Retourner
sur le site des 10 ans !</font></a></div>
</td>
</tr>
<tr>
<td width="300">&nbsp;</td>
</tr>
</table>
</body>
</html>

Publicité
tirikou
 Posté le 03/04/2008 à 11:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Cela doit se passer ici :

Conn.Execute SQL
Response.Cookies("VoteCookie").Expires = Now() + 7
'on autorise 1 vote tout les now() + x jours, à définir selon vos besoins
Response.Cookies("VoteCookie")("VoteID") = VoteID
Response.write " Le vote est validé. Merci!"

Il te suffit maintenant de modifier Now() + x mais là je sais pas en javascript

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
17,49 €Carte mémoire SDXC UHS-I U3 SanDisk Extreme Pro 64 Go (jusqu'à 170 Mo/s) à 17,49 €
Valable jusqu'au 22 Octobre

Amazon fait une promotion sur la carte mémoire SDXC UHS-I U3 SanDisk Extreme Pro d'une capacité de 128 Go qui passe à 17,49  € alors qu'on trouve la carte ailleurs à partir de 35 €. Cette carte mémoire offre des vitesses jusqu'à 170 Mo/s en lecture et 90 Mo/s en écriture et intègre des mécanismes afin de gérer l'usure des cellules de la carte et augmenter ainsi sa durée de vie. Une valeur sûre pour les plus exigeants. La livraison est gratuite.


> Voir l'offre
87,99 €Kit de démarrage Ordinateur Raspberry Pi 4 Type B 4 Go à 87,99 €
Valable jusqu'au 20 Octobre

Amazon fait une vente flash sur un kit de démarrage Raspberry Pi 4 Type B 4 Go qui passe à 87,99 €. On le trouve ailleurs à partir de 120 €. Pour rappel, la nouvelle version de ce mini ordinateur dispose d'un processeur ARM Quad Core à 1.5 GHz, de 4 Go  de mémoire, d'un lecteur de carte microSD, de 4 ports USB (dont 2 USB 3.0), Ethernet et HDMI. Il intègre le WiFi et le Bluetooth. Il permet l'exécution de Windows 10, Linux, le décodage de flux Blu-Ray en 1080p ainsi que l'émulation d'anciennes consoles de jeux. Si vous voulez bidouiller et explorer la programmation informatique, le Raspberry Pi est une excellente base ! C'est aussi une bonne solution pour se créer un système domotique avec Domoticz et Jeedom, Media Center avec OpenElec et Kodi ou un système de jeux retro avec Recallbox ou RetroPie. Ce kit de démarrage officiel comporte en plus du Raspberry Pi 4 : une alimentation française 3 A avec interrupteurun boîtier et une carte mémoire 32 Go préchargée avec la distribution NOOBS, un lecteur de carte mémoire, des dissipateurs thermiques, un ventilateur et un câble HDMI. La livraison est gratuite. 


> Voir l'offre
699,99 €Portable 14 pouces Asus Vivobook Flip (FullHD, Ryzen 5, 8Go, SSD 512 Go) à 699,99 €
Valable jusqu'au 23 Octobre

Cdiscount fait une promotion sur le PC portable convertible en tablette 14 pouces Asus Vivobook Flip TM420IA-EC027T qui passe à 699,99 € alors qu'on le trouve ailleurs à partir de 799€. Ce portable que vous pouvez plier comme une tablette est très bien équipé. Il possède un écran 14 pouces Full HD (1920x1080) IP mat antireflet et tactile, un processeur AMD Ryzen 5 4500U, 8 Go de RAM (extensible à 16 Go), un processeur graphique AMD Radeon Vega 6 et un SSD NVMe de 512 Go. Le WiFi, le bluetooth, un pavé numérique et une webcam sont de la partie. Le tout tourne sous Windows 10. Une bonne affaire.


> Voir l'offre

Sujets relatifs
Systeme de vote
Système de postage automatique
systeme CAPTCHA invalide
PHP système de pagination.
paramétrage de client FTP Filezilla
précision paramétrage META
Parametrage FileZilla
Affiliation et système de paiement
WebSiteX5 paramétrage Paypal
Système d'exploitation et produit annexe
Plus de sujets relatifs à Paramétrage cookie sur système de vote
 > Tous les forums > Forum Forum des Webmasters