La communauté ALL HTML c'est 60190 membres à ce jour dont 0 inscrits aujourd'hui et 15 depuis une semaine.

Sondage

Photo de ALL HTML Article publié le lundi 29 mars 2004 par ALL HTML.
Cet article est classé dans les catégories « PERL »

Objectif


Ce script permet de créer un sondage en ligne afin d'améliorer l'interactivité de votre site.

Téléchargement


sondage.zip (7Ko) contient 6 fichiers :

- vote.pl (le script cgi)
- config.txt (le fichier de configuration)
- logvote.txt (le fichier des votes)
- ipvote.txt (le fichier des adresses IP)
- blue.gif (image gif)
- aide.txt (le fichier d'aide)

Copyright


1999 A. Schnyder

Configuration requise


- Accès total à votre répertoire cgi.
- Version 5 ou supérieur de Perl.

Manipulations et modifications


Ouvrir le fichier vote.pl avec un éditeur de texte (ex : notepad)

a ) Modifier la première ligne du script (#!/usr/bin/perl) suivant la configuration de votre serveur.
Tapez la commandewhich perl sous telnet pour visualiser le chemin.
b ) Enregistrer ce fichier au format texte (avec l'extension .pl).
c ) Modifier le fichier config.txt suivant votre configuration (emplacement des différents fichiers).

Exemple de fichier config.txt

<br><table border="1" bordercolor="#330033" cellpadding="3" cellspacing="1" width="489"><tbody><tr><td><span class="texte"><font color="#ff0000"><b> ***avis*** </b></font></span></td><td><span class="texte"> Nom de votre sondage </span></td></tr><tr><td><span class="texte"><font color="#ff0000"><b> html_file: ../avis.html </b></font></span></td><td><span class="texte"> Chemin de la page html de votre sondage </span></td></tr><tr><td><span class="texte"><font color="#ff0000"><b> output_file: ../result.htm </b></font></span></td><td><span class="texte"> Chemin de la page html du résultat de votre sondage </span></td></tr><tr><td><span class="texte"><font color="#ff0000"><b> log_file: logvote.txt </b></font></span></td><td><span class="texte"> Chemin du fichier logvote.txt (stockage des votes) </span></td></tr><tr><td><span class="texte"><font color="#ff0000"><b> ip_file: ipvote.txt </b></font></span></td><td><span class="texte"> Chemin du fichier ipvote.txt (stockage des adresses IP) </span></td></tr><tr><td><span class="texte"><font color="#ff0000"><b> already_voted_file: ../dblvote.htm </b></font></span></td><td><span class="texte"> Chemin de la page html indiquant un double vote </span></td></tr><tr><td><span class="texte"><font color="#ff0000"><b> vote_url: http://www.site.com/cgi/vote.pl </b></font></span></td><td><span class="texte"> URL complète du script cgi vote.pl </span></td></tr><tr><td><span class="texte"><font color="#ff0000"><b> checkIP: true </b></font></span></td><td><span class="texte"> Utilisation (true) ou non (false) du stockage des adresses IP (pour éviter les votes doubles) </span></td></tr><tr><td><span class="texte"><font color="#ff0000"><b> checkCookie: false </b></font></span></td><td><span class="texte"> Utilisation (true) ou non (false) des cookies (pour éviter les votes doubles) </span></td></tr><tr><td><span class="texte"><font color="#ff0000"><b> expiration: 20 </b></font></span></td><td><span class="texte"> Nombre de jours où les cookies sont stockés </span></td></tr><tr><td><span class="texte"><font color="#ff0000"><b> replace_form: false </b></font></span></td><td><span class="texte"> Remplacement (true) ou non (false) du haut de la page html du sondage par la page de résultat </span></td></tr></tbody></table>

d ) Télécharger les fichiers vote.pl, config.txt, logvote.txt, ipvote.txt dans votre répertoire cgi (transfert en mode ASCII) et le fichier blue.gif dans votre répertoire gif.
e ) Rendre le fichier vote.pl exécutable ( sous Telnet tapezchmod 755 vote.pl), et les fichiers ipvote.txt et logvote.txt en lecture et écriture pour tous (chmod 777).

Exemple de page html comportant un sondage


<form METHOD=GET action="http://www.site.com/cgi/vote.pl" name="AVIS">
<input type="hidden" name="name" value="avis" />Quel est votre site préféré ?
<input type="radio" name="a" value="1" />All HTML
<input type="radio" name="a" value="2" />Nomade
<input type="radio" name="a" value="3" />Yahoo!
<input type="submit" value="Voter" />
<input type="reset" value="Annuler" />
</form>

Attention à bien respecter ces règles !

- Si vous insérez une image ou des liens hypertextes, leurs adresses seront absolues. Exemple : Si l'URL de votre site est www.multimania.com/login et que vos images se trouvent dans un répertoire dessin, une image insérée dans cette page aura L'URL : http://www.multimania.com/login/dessin/image.gif />
- La première question devra posséder la valeur "a" pour l'attribut name (la deuxième question la valeur "b" et ainsi de suite) et le premier choix de celle-ci la valeur 1 (le deuxième choix la valeur "2" et ainsi de suite).

- L'attribut method doit avoir comme valeur get et non post (qui est plutôt utilisé pour un formulaire classique).

Exemple de page html comportant le résultat d'un sondage


Résultat du concours : Quel est votre site préféré ?
ALL HTML <img src="http://www.site.com/gif/blue.gif" height="10" WIDTH=$%a1;>$%a1;%($a1;)
Nomade <img src="http://www.site.com/gif/blue.gif" height="10" width=$%a2;>$%a2;%($a2;)
Yahoo! <img src="http://www.site.com/gif/blue.gif" height="10" width=$%a3;>$%a3;%($a3;)

Total votants : $tot;

Fichier logvote.txt découlant de ce fichier :

Total votes:20
20
12 2 6

Note : Le fichier logvote.txt doit être transféré sur votre serveur à zéro suivant ce même schéma, ici cela donne

Total votes:0
0
0 0 0

et si le sondage comporte deux questions, l'une avec 3 réponses et la suivante 4 cela donne (respectez bien les sauts de ligne) :

Total votes:0 (nombre total de vote)
0 0 (nombre total de vote pour la première et deuxième question)
0 0 0 (nombre total de vote pour le premier, deuxième et troixième choix de la première question)
0 0 0 0 (nombre total de vote pour le premier, deuxième, troixième et quatrième choix de la deuxième question)

Attention à bien respecter ces règles bis !

- Si vous insérez une image ou des liens hypertextes, leurs adresses seront absolues.

Exemple : Si l'URL de votre site est
www.multimania.com/login et que vos images se trouvent dans un répertoire dessin, une image insérée dans cette page aura L'URL : http://www.multimania.com/login/dessin/image.gif />
- Comme vu au dessus

$%a1; correspond au pourcentage.
$a2; correspond au nombre de vote pour une question.
$tot; correspond au nombre de votant.

Note : Le résultat peut-être vu sans voter, il suffit alors d'insérer un lien de type :

<a href="http://www.site.com/cgi/vote.pl?name=avis&action=view">

Vous pouvez bien sur paramètrer plusieurs sondages. Il vous faudra alors :

- Créer un fichier ipvote2.txt
- Créer un fichier logvote2.txt
- Modifier le fichier config.txt afin d'intégrer le deuxième sondage (cf exemple ci-dessous).

***avis***
html_file: ../avis.html
output_file: ../result.htm
log_file: logvote.txt
ip_file: ipvote.txt
already_voted_file: ../dblvote.htm
vote_url:
http://www.site.com/cgi/vote.pl /> checkIP: true
checkCookie: false
expiration: 20
replace_form: false
***ordi***
html_file: ../ordi.html
output_file: ../result2.htm
log_file: logvote2.txt
ip_file: ipvote2.txt
already_voted_file: ../dblvote.htm
vote_url:
http://www.site.com/cgi/vote.pl /> checkIP: true
checkCookie: false
expiration: 20
replace_form: false

VOS COMMENTAIRES ...

Commenter cette publication

Aucun commentaire pour le moment ...

Commenter cette publication

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

Forums de discussions associés

Discutez et échangez sur ce thème dans notre forum Autres langages (JAVA, JSP, etc.).

Liens sponsorisés

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.