Accueil > > > VOTER POUR UN SITE UNE SEULE FOIS
VOTER POUR UN SITE UNE SEULE FOIS
Information sur la source
Description
Nous allons réaliser une liste à selection contenant des notes de un à dix pour noter/voter ou valoriser un site sans permettre au visiteur de le faire plus qu'une fois Avant tout nous allons créer une table avec 4 champs au mieux: $request="CREATE TABLE `vote` ( `id` TINYINT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `note` SMALLINT NOT NULL, `ip` VARCHAR(10) NOT NULL, `date` DATE NOT NULL )"; mysql_query($request) or die ("impossible de créer la table");
Source
- <html>
- <head>
- <body>
- //Vous pouvez mettre tant de chose que vous voulez dans body
- //Ce formulaire va etre traité dans la meme page "test.php"
- <form name="form" method="post" action="test.php">
- <p><select size="1" name="note">
- <option selected value="1">1</option>
- <option value="2">2</option>
- <option value="3">3</option>
- <option value="4">4</option>
- <option value="5">5</option>
- <option value="6">6</option>
- <option value="7">7</option>
- <option value="8">8</option>
- <option value="9">9</option>
- <option value="10">10</option>
- </select><input type="submit" name="submit" value="Votez "></p>
- </form>
- </body>
- </html>
- <?
- //Remplacez les: hote, compte et mot de passe par les votres fournis par votre hébergeur
- $conecter=mysql_connect('localhost','root','')or die ("erreur de connexion");
- //Changez database par le nom de votre base de données
- mysql_select_db(database,$conecter) or die ("erreur de selection");
- //Vous pouvez mettre à la place des lignes précédents:
- //include("votre fichier connexion contenant ces informations.inc.php");
-
- //La date au format américain date("y-m-d")parce qu'on a optimisé le quatrième champ `date`, si //on le met en autre forma la date deviendra 0000-00-00, si on veut un autre format, français //par éxemple date("d-m-y")on sera forcer d'optimiser le 4ème champ varchar...etc pour éviter //le 0000-00-00.
-
- $date=date("y-m-d");
-
- // On definit la variable ip adresse
- $ip = $REMOTE_ADDR;
-
-
- //submit c'est le nom du bouton d'envoie de formulaire "il peut etre de n'importe type "select, //zone de texte, buton radio...etc. Ce truc ce fait pour traiter le formulaire HTML dans la //meme page que se trouve le code PHP traiteur.On récapitule cela
- //if($le nom du bouton d'envoie){
- //Le code PHP traiteur
- //}
- if($submit){
-
- //On cherche si quelqu'un à déjà donné son avis grace à son adresse ip
- $ipeexists = "SELECT ip FROM vote WHERE ip='$ip'";
- $req = mysql_query($ipeexists);
-
- if (mysql_num_rows($req) > 0) {
- echo "<body bgcolor=F7F5F5><br><br><br><br><br><b><p align=center><span style=font-size:10pt;><font color=red face=verdana>Votre avis a déjà été donné, merci.</p></font></b>";
- //ATTENTION: La ligne print qui suit ne doit etre ici seulement dans le cas ou ce code PHP est //mis séparément de la page HTML c'est à dire dans une page PHP cible du formulaire HTML
- print "<p align=center><span style=font-size:10pt;><font face=verdana><a href=javascript:history.back();>Retour</a>";
- //exit;c'est essentiel dans les deux cas
- exit;
- }
-
- mysql_query("insert into `vote` values('','$ip','$note','$date')");
- //Ligne de remerciément
- echo "<b><p align=center><span style=font-size:12pt;><font color=navy face=verdana>Votre avis a bien été ajouté, merci.</p></font></b><br><br><br>";
-
- //Une requete pour compter le nombre de voix valide (une seule fois pour chaque visiteur) dans //la base puisque l'id s'incrémente à chaque fois et ne se répète jamais:
- $sql = "select id from vote";
- $requete = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
- $nombre= mysql_num_rows($requete);
- echo "<font color=black face=Verdana size=2>Maintenant, on a<b>$nombre</b>voix valides .<br>";
-
-
- // On ferme la connection à mysql
- mysql_close();
- }
-
- //Ce code (PHP/MYSQL) est testé sous Apache/Windows XP , Il fonctionnait avec succès
- //Pour tout commentaire ou remarque prière de me contacter à: sidoummoudz@yahoo.fr
- //Bon usage à tous, a++
-
- ?>
-
-
-
<html>
<head>
<body>
//Vous pouvez mettre tant de chose que vous voulez dans body
//Ce formulaire va etre traité dans la meme page "test.php"
<form name="form" method="post" action="test.php">
<p><select size="1" name="note">
<option selected value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select><input type="submit" name="submit" value="Votez "></p>
</form>
</body>
</html>
<?
//Remplacez les: hote, compte et mot de passe par les votres fournis par votre hébergeur
$conecter=mysql_connect('localhost','root','')or die ("erreur de connexion");
//Changez database par le nom de votre base de données
mysql_select_db(database,$conecter) or die ("erreur de selection");
//Vous pouvez mettre à la place des lignes précédents:
//include("votre fichier connexion contenant ces informations.inc.php");
//La date au format américain date("y-m-d")parce qu'on a optimisé le quatrième champ `date`, si //on le met en autre forma la date deviendra 0000-00-00, si on veut un autre format, français //par éxemple date("d-m-y")on sera forcer d'optimiser le 4ème champ varchar...etc pour éviter //le 0000-00-00.
$date=date("y-m-d");
// On definit la variable ip adresse
$ip = $REMOTE_ADDR;
//submit c'est le nom du bouton d'envoie de formulaire "il peut etre de n'importe type "select, //zone de texte, buton radio...etc. Ce truc ce fait pour traiter le formulaire HTML dans la //meme page que se trouve le code PHP traiteur.On récapitule cela
//if($le nom du bouton d'envoie){
//Le code PHP traiteur
//}
if($submit){
//On cherche si quelqu'un à déjà donné son avis grace à son adresse ip
$ipeexists = "SELECT ip FROM vote WHERE ip='$ip'";
$req = mysql_query($ipeexists);
if (mysql_num_rows($req) > 0) {
echo "<body bgcolor=F7F5F5><br><br><br><br><br><b><p align=center><span style=font-size:10pt;><font color=red face=verdana>Votre avis a déjà été donné, merci.</p></font></b>";
//ATTENTION: La ligne print qui suit ne doit etre ici seulement dans le cas ou ce code PHP est //mis séparément de la page HTML c'est à dire dans une page PHP cible du formulaire HTML
print "<p align=center><span style=font-size:10pt;><font face=verdana><a href=javascript:history.back();>Retour</a>";
//exit;c'est essentiel dans les deux cas
exit;
}
mysql_query("insert into `vote` values('','$ip','$note','$date')");
//Ligne de remerciément
echo "<b><p align=center><span style=font-size:12pt;><font color=navy face=verdana>Votre avis a bien été ajouté, merci.</p></font></b><br><br><br>";
//Une requete pour compter le nombre de voix valide (une seule fois pour chaque visiteur) dans //la base puisque l'id s'incrémente à chaque fois et ne se répète jamais:
$sql = "select id from vote";
$requete = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$nombre= mysql_num_rows($requete);
echo "<font color=black face=Verdana size=2>Maintenant, on a<b>$nombre</b>voix valides .<br>";
// On ferme la connection à mysql
mysql_close();
}
//Ce code (PHP/MYSQL) est testé sous Apache/Windows XP , Il fonctionnait avec succès
//Pour tout commentaire ou remarque prière de me contacter à: sidoummoudz@yahoo.fr
//Bon usage à tous, a++
?>
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|