Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

cookies

Envoyé par marc 
cookies
mercredi 18 septembre 2002 17:28:49
Bonjour, ça faisait longtemps...

Voilà je bosse sur ton sondage sans BDD (cela fonctionne) mais j'aimerais mettre un "cookie" pour que les gens ne votent qu'une seule fois.

J'ai mis dans l'en-tête :

<?
setcookie("dejavote", 1, 31622400);
?>


Et dans le script php plus bas :

if($dejavote > 1)

{ echo "Désolé, vous avez déjà voté";}

Mais apparemment ce n'est pas concluant.
Car je peux voter jusqu'à plus soif...

J'aimerais si l'internaute a déjà voté que la phrase "Désolé, vous avez déjà voté", s'inscrive dans une petite fenêtre Windows.
Merci de tes conseil.
A + Marc
Re: cookies
mercredi 18 septembre 2002 18:10:31
salut,
voilà comment je procède...
j'installe un cookie (fais gaffe aux headers...)

en sachant que ici $appre ce sont les 3 input radio... ce qui je veux dire que dans tous les cas, j'installe un cookie....

<?
if ($appre!=""winking smiley{$vote+=1;}
setcookie("vote",$vote,time()+3600);
?>

puis dans le body :

<?
if ($vote<2) // si pas encore de vote
{
// traitement
}

mais si il y a déjà eu un vote

<?if ($vote>1){echo"Vous avez déjà voté !","<br>","Un seul vote par surfer et par heure...";}?>

a+
Re: cookies
jeudi 19 septembre 2002 08:26:46
Bien reçu tes infos, mais pas de résultats. Tout fonctionne sauf le cookie.

Mes boutons radios (4) se nomment : oui - demi - non - pas.

Une question qui me taraude, quand tu mets une condition dans l'en-tête par exemple, et qu'ensuite on fait référence à cette condition dans le body, est-ce qu'il y a un emplacement à respecter.
Je m'explique :
On met un cookie (en-tête).
Le formulaire à un bouton "Validation".

Est-ce important ou pas de mettre ce qui suit, avant ou après ce bouton qui valide ?

<?
if ($vote<2) // si pas encore de vote
{
// traitement
}

//mais si il y a déjà eu un vote


if ($vote>1)
{
echo"Vous avez déjà voté !","<br>","Un seul vote par surfer et par heure...";
}
?>


Une autre question, dans ton exemple tu as trois boutons, moi j'en ai quatre.

La variable $sond correspond à quoi ? Est-ce à modifier ou pas suivant le nombre de boutons ?





Voici le code de ma page sondage.php :


<?
if ($appre!="oui" + "demi" + "non" + "pas"winking smiley
{
$vote+=1;
}
setcookie("vote",$vote,time()+3600);
?>
<html>
<head>
<title>SONDAGE</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#999999">
<? switch($choix)
{
case "oui":
$fichier = fopen("oui.txt","r+"winking smiley;
$sond = fgets($fichier,255);
$sond++;
fseek($fichier,0);
fputs($fichier,$sond);
fclose($fichier);break;

case "demi":
$fichier = fopen("demi.txt","r+"winking smiley;
$sond = fgets($fichier,255);
$sond++;
fseek($fichier,0);
fputs($fichier,$sond);
fclose($fichier);break;

case "non":
$fichier = fopen("non.txt","r+"winking smiley;
$sond = fgets($fichier,255);
$sond++;
fseek($fichier,0);
fputs($fichier,$sond);
fclose($fichier);break;

case "pas":
$fichier = fopen("pas.txt","r+"winking smiley;
$sond = fgets($fichier,255);
$sond++;
fseek($fichier,0);
fputs($fichier,$sond);
fclose($fichier);break;
}
?>


<div align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">Petit
sondage réalisé dans le souci de sans cesse coller aux attentes<br>
des personnes qui nous ont fait confiance.</font></strong><br>
<br>
<br>
<br>
<strong><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif">Les
formations du SERIFOPS<br>
correspondent-elles à vos attentes ?</font></strong> <br>
<br>
</div>
<form name="formulaire" method="post" action="<?$PHP_SELF;?>">
<table border="0" align="center">
<tr>
<td width="25" align="left" valign="middle"> <input type="radio" name="choix" value="oui"></td>
<td><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">Oui...</font></td>
</tr>
<tr>
<td width="25" align="left" valign="middle"> <input type="radio" name="choix" value="demi"></td>
<td><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">Pas complètement</font></td>
</tr>
<tr>
<td width="25" align="left" valign="middle"> <input type="radio" name="choix" value="non"></td>
<td><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">Non...</font></td>
</tr>
<tr>
<td width="25" align="left" valign="middle"> <input type="radio" name="choix" value="pas"></td>
<td><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">Pas d'opinion</font></td>
</tr>
<tr>
<td width="25" height="60" align="left" valign="middle">&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<div align="center"> <input type="submit" name="mon_bouton" value="Validez votre réponse" onClick="chang_text()"></div>
</form>
<div align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong><a href="resultat.php">Afficher
la page de résultats</a></strong></font>
<script>
function chang_text()
{
document.formulaire.mon_bouton.value="Merci d'avoir voté !"
}
</script>
<?
if ($vote<2) // si pas encore de vote
{
// traitement
}

//mais si il y a déjà eu un vote


if ($vote>1)
{
echo"Vous avez déjà voté !";
}
?>
</div>
</body>
</html>




Voici le code de la page resultat.php :

<html>
<head>
<title>RESULTAT</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#999999">
<?
$fichier = fopen("oui.txt","r"winking smiley;
$sonda = fgets($fichier,255);
fclose($fichier);

$fichier = fopen("demi.txt","r"winking smiley;
$sondb = fgets($fichier,255);
fclose($fichier);

$fichier = fopen("non.txt","r"winking smiley;
$sondc = fgets($fichier,255);
fclose($fichier);

$fichier = fopen("pas.txt","r"winking smiley;
$sondd = fgets($fichier,255);
fclose($fichier);

echo "<font face=\"verdana\" size=\"2\" color=\"#FFFFFF\"><b>Sondage effectué depuis le 4 Sept. 2002</b></font>".'<br>'.'<br>';


$tot_sone=($sonda+$sondb+$sondc+$sondd);



echo "<font face=\"verdana\" size=\"2\" color=\"#000000\"><b>Nombre de \"oui\" : </b></font>","<font face=\"verdana\" size=\"2\" color=\"#FFFFFF\"><b>$sonda</b></font><br>";
echo "<font face=\"verdana\" size=\"2\" color=\"#000000\"><b>Nombre de \"Pas complètement\" : </b></font>","<font face=\"verdana\" size=\"2\" color=\"#FFFFFF\"><b>$sondb</b></font><br>";
echo "<font face=\"verdana\" size=\"2\" color=\"#000000\"><b>Nombre de \"Non\" : </b></font>","<font face=\"verdana\" size=\"2\" color=\"#FFFFFF\"><b>$sondc</b></font><br>";
echo "<font face=\"verdana\" size=\"2\" color=\"#000000\"><b>Nombre de \"Pas d'opinion\" : </b></font>","<font face=\"verdana\" size=\"2\" color=\"#FFFFFF\"><b>$sondd</b></font><br><br><br>";
echo "<font face=\"verdana\" size=\"2\" color=\"#000000\"><b>Nombre total de votes : </b></font>","<font face=\"verdana\" size=\"2\" color=\"#FFFFFF\"><b>$tot_sone</b></font><br>";

?>
</body>
</html>

A + Marc
Re: cookies
jeudi 19 septembre 2002 09:48:57
j'ai pas eu le temps de tt lire !!
mais j'ai noté ça :
"<?
if ($appre!="oui" + "demi" + "non" + "pas"winking smiley
{
$vote+=1;
}
setcookie("vote",$vote,time()+3600);
?>"


??????????????????
pourquoi la présence des ces + + ????????? ils ne servent à rien sinon polluer ton code....... relis bien ce que j'ai écrit dans mon premier post !
Re: cookies
jeudi 19 septembre 2002 15:23:34
Ben j'ai mis :
<?
if ($appre!=""winking smiley{$vote+=1;}
setcookie("vote",$vote,time()+3600);
?>
.........dans l'en-tête.


Ensuite :

if ($vote<2) // si pas encore de vote
{
// traitement
}

//mais si il y a déjà eu un vote

if ($vote>1)
{
echo"Vous avez déjà voté !","<br>","Un seul vote par surfer et par heure...";
}
?>

Dans le Body juste en-dessous de :

case "pas":
$fichier = fopen("pas.txt","r+"winking smiley;
$sond = fgets($fichier,255);
$sond++;
fseek($fichier,0);
fputs($fichier,$sond);
fclose($fichier);break;
}

Mais toujous pas de résultats.

A + Marc
Re: cookies
vendredi 20 septembre 2002 09:39:44
slt,
quand j'écris............

if ($vote<2) // si pas encore de vote
{
// traitement
}

les // sont des balises de commentaires.... et le traitement c'est l'action que tu veux, pour toi, il s'agit d'incrémenter tes fichiers-texte....

si tu laisses ce script en l'état, ça n'ira pas yawning smiley((
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter