Bon vu que tu ne veux pas utiliser sql ça complique un peu les choses, sinon ça aurait été un peu plus simple et mieux fait.
Pour ta première question, tu ne peux pas stocker directement ce choix sur ton ordinateur, sauf si cet ordinateur est également ton serveur web (mais tu ne pourras stocker ça que dans un dossier accessible à apache).
Tu peux donc essayer de le stocker dans un fichier sur ton serveur web en observant une synthaxe stricte afin d'éviter les doublons. Dans le fichier .php que tu as indiqué à l'argument action= de ta balise form (dans la page de ton formulaire), tu fais un truc du genre :
- Code:
-
<?php
$fichier=fopen("sondage.txt","a") or die (exit); //ouverture du fichier en mode ajout
fputs($fichier,$pseudo); //écriture du pseudo et retour à la ligne
fputs($fichier,$choix_sondage); //écriture du choix (0 ou 1)
fclose($fichier); //fermeture du fichier
?>
Comme ça t'obtiendra une ligne avec un pseudo puis une ligne avec le choix, et à nouveau une ligne avec un pseudo... A toi de faire un if pour vérifier que les chaines entrées ne sont pas vides.
Pour visualiser tu peux faire une petite boucle type :
- Code:
-
<html><body><table>
<?php
$fichier=fopen("sondage.txt","r")or die (exit);
while(!feof($fichier))
{
echo "<tr><td>";
echo fgets($fichier,20); //lecture pseudo, 20 caract. max
echo "</td><td>";
echo fgets($fichier,1); //lecture choix, 1 caractère car soit 0 soit 1
echo "</td></tr>\n";
}
fclose($fichier);
?>
</table></body></html>
Donc ce petit script t'affichera tout les sondés en tableau avec pseudo et choix.
Après si tu veux mettre plusieurs choix c'est du copié collé c'est pas dur.
Pour ta deuxième question, tu peux le faire avec un cookie mais vu que tu sembles ne pas trop maitriser php encore tu vas rien y comprendre, alors vaut mieux le faire avec les ip, c'est moins compliqué (mais aussi moins flexible).
Php possède une variable d'environnemenet simple à utiliser qui contient l'ip du visiteur.
Donc tu stockes toutes les ip qui ont remplis le formulaire dans un fichier séparé, donc ça te donne, en reprenant le code précédent :
- Code:
-
<?php
$fichier=fopen("sondage.txt","a") or die (exit); //ouverture du fichier en mode ajout
fputs($fichier,$pseudo); //écriture du pseudo et retour à la ligne
fputs($fichier,$choix_sondage); //écriture du choix (0 ou 1)
fclose($fichier); //fermeture du fichier
$fichier_ip=fopen("ip_log.txt","a") or die(exit);
fputs($fichier_ip,$REMOTE_ADDR);
fclose($fichier_ip);
?>
Après pour check si le mec a pas déjà remplis le formulaire ben tu fais un ptit truc tout con :
- Code:
-
$fichier_ip=fopen("ip_log.txt","r") or die (exit);
$ip_found=0;
while(!feof($fichier_ip))
{
if (fgets($fichier_ip,12) = $REMOTE_ADDR)
{
$ip_found=1;
break;
}
}
$fclose($fichier_ip);
if($ip_found=0)
{
echo "Vous avez déjà remplit le formulaire, désolé !";
}
else
{
include ("formulaire.htm"); //inclusion du fichier html avec le formulaire
}
?>
Voilà, essaies de t'en inspirer. Mais mets-toi à SQL, ce sera beaucoup plus rapide, surtout si t'as beaucoup d'utilisateur, parcourir les fichiers en entier à chaque visite feront beaucoup bosser ton serveur web pour pas grand chose.
J'ai ptêtre fait deux-trois erreurs ou oublis, je m'en excuse d'avance, je fais tout en sql donc les fichiers c'est plus trop d'actualité pour moi :s
EDIT pour mon VDD qui a posté avant moi : Les ip dynamiques on en rencontre beaucoup moins qu'avant, 90% des box internet ont des ip fixes...
De toute façon y'a pas de solution miracle, les cookies ou les ip ont chacuns leurs avantages et inconvénients. Jte présente l'option ip parce que c'est le plus simple pour débuter.