Systeme de vote en css et MySQL

Systeme de vote en css et MySQL - PHP - Programmation

Marsh Posté le 26-10-2006 à 14:10:43    

Bonjour à tous !
 
En m'inspirant du site http://komodomedia.com/blog/index. [...] part-deux/ j'aimerai moi aussi mêttre un systeme de vote pour les video de mon site.
 
Moi travail est ici : http://romain.giovanetti.free.fr/g [...] moskaubeta (pour internet explorer 7) et http://romain.giovanetti.free.fr/g [...] moskaubeta (pour tout les autres :p)
 
J'ai donc plusieurs question :
 
Que faut il changer le nombre d'étoile afficher (en gros le résultat)?
 
Comment je peut utiliser ce systeme (en gros de l'insertion dans MYSQL, au calcul en php apres lecture qui va changer le nombre d'étoile afficher)?(MySQL n'est pas mon fort ^^'  ni meme les POST)
 
 
Merci d'avance :)

Reply

Marsh Posté le 26-10-2006 à 14:10:43   

Reply

Marsh Posté le 26-10-2006 à 16:04:34    

Code :
  1. $reponse = mysql_query("SELECT * FROM gni_vote" );
  2. while ($donnees = mysql_fetch_array($reponse) )
  3. {
  4. echo "Lecture des informations MySQL:";
  5. echo "<br>";
  6. echo "ID :";
  7. echo $donnees['id'];
  8. echo "<br>";
  9. echo "Nom :";
  10. echo $donnees['nom'];
  11. echo "<br>";
  12. echo "Total des votes :";
  13. echo $donnees['votes'];
  14. $votes = $donnees['votes'];
  15. $nb = $donnees['nombre'];
  16. $note = $votes / $nb;
  17. echo "<br><br>";
  18. echo "Note :";
  19. echo "$note";
  20. }
  21. mysql_close(); // Déconnexion de MySQL


 
 
voila j'ai commencé un début de code pour l'interprétation et le calcul ^^
 
me faudrait donc de l'aide maintenant sur la modification de table et à quel niveau de la css le nombre d'étoile afficher est gérer.
 
Merci d'avance !

Reply

Marsh Posté le 27-10-2006 à 09:10:57    

up !

Reply

Marsh Posté le 27-10-2006 à 14:36:27    

c'est ok pour l'affichage des étoiles  
 
par contre niveau php ça coince :s
 
j'ai bidouillé comme ceci pour l'instant mais je ne sais pas.... ça ne va pas fort :s
 
 

Code :
  1. <?
  2. if(empty($_GET['note'])) /* Si il n'y a pas de variable "note" dans l'url on affiche les étoiles qui vont voter*/
  3. {
  4. echo "<div class='cadret'>
  5. <ul class='star-rating'>
  6. <li class='current-rating' style='width:1px;'>Actuellement 3.5/5</li>
  7. <li><a href='?page=moskaubeta&amp;note=1' title='1 étoile sur 5' class='one-star'>1</a></li>
  8. <li><a href='?page=moskaubeta&amp;note=2' title='2 étoiles sur 5' class='two-stars'>2</a></li>
  9. <li><a href='?page=moskaubeta&amp;note=3' title='3 étoiles sur 5' class='three-stars'>3</a></li>
  10. <li><a href='?page=moskaubeta&amp;note=4' title='4 étoiles sur 5' class='four-stars'>4</a></li>
  11. <li><a href='?page=moskaubeta&amp;note=5' title='5 étoiles sur 5' class='five-stars'>5</a></li>
  12. </ul></div>
  13. <br />";
  14. }
  15. else //Variable Note dans l'url donc vérification de l'existence du cookie qui est généré si on a voté. Si le cookie existe on affiche les étoile qui affiche seulement mais qui ne permettent pas le vote. Si le cookie n'existe pas on ajouter la valeur $note au total des vote dans la table MySQL puis on crer le cookie.
  16. {
  17. if(isset($_COOKIE["gni_moskau"]))
  18. {
  19. echo "Note affichée + vous avez déja voté";
  20.       }else{
  21. $timestamp_expire = time() + 7*24*3600;
  22. setcookie('gni_moskau', 'true', $timestamp_expire);//il manque la partie qui ajoute à MySQL $note , mais cela importe pour l'instant car ce scipt ne fonctione pas  
  23.       }
  24. }
  25. ?>


 
 
 
ce script renvois donc :
 

Citation :

Warning: Cannot modify header information - headers already sent by (output started at /mnt/113/free.fr/7/d/romain.giovanetti/ganoninc.php:56) in /mnt/113/free.fr/7/d/romain.giovanetti/moskaubeta.php on line 43

Reply

Marsh Posté le 27-10-2006 à 14:37:43    

L'erreur la plus classique et la plus courante qu'on voit :( Fait une recherche là-dessus...

Reply

Marsh Posté le 29-10-2006 à 17:20:55    

me revoila ^^
 
bon j'ai opté pour une solution différente, je vais passer par un fichier externe vote.php
 
Je le dévellope actuellement avec un ami seulement on bloque maintenant avec MYSQL
 
voici le code de la page moskaubeta
 

Code :
  1. <?
  2. if($_COOKIE['vote_moskau']=="voted" )
  3. {
  4. echo "Affichage de la note car déja voté";
  5. }
  6. else
  7. {
  8. echo "<div class='cadret'>
  9. <ul class='star-rating'>
  10. <li class='current-rating' style='width:1px;'>Actuellement 3.5/5</li>
  11. <li><a href='vote.php?page=Moskaubeta&amp;note=1' title='1 étoile sur 5' class='one-star'>1</a></li>
  12. <li><a href='vote.php?page=Moskaubeta&amp;note=2' title='2 étoiles sur 5' class='two-stars'>2</a></li>
  13. <li><a href='vote.php?page=Moskaubeta&amp;note=3' title='3 étoiles sur 5' class='three-stars'>3</a></li>
  14. <li><a href='vote.php?page=Moskaubeta&amp;note=4' title='4 étoiles sur 5' class='four-stars'>4</a></li>
  15. <li><a href='vote.php?page=Moskaubeta&amp;note=5' title='5 étoiles sur 5' class='five-stars'>5</a></li>
  16. </ul></div>
  17. <br />";
  18. }
  19. ?>


 
 
 
 
et le code de notre module de vote :

Code :
  1. <?
  2. //Fichier : vote.php Auteurs : G@NON INC et Effervescence
  3. //
  4. //Partie à configurer(début)
  5. $host = "sql.free.fr"; //votre serveur SQL
  6. $user = "*****"; //votre nom d'utilisateur
  7. $pass = "******"; //votre password
  8. $bdd = "******"; // votre base de donnée
  9. //
  10. //Partie à configurer(fin)
  11. $note = $_GET['note'];//Définition de la variable note.
  12. echo $note; //petit test
  13. $page = $_GET['page'];//Définition de la variable page.
  14. echo "<br />";//petit test
  15. echo $page; //petit test
  16. if($_COOKIE["vote_$page"]=="voted" ) //Vérification du cookie garant de la sincérité du voteur.
  17. {
  18. echo "<br />";//petit test
  19. echo "Vous avez déja voté";//Notification
  20. }
  21. else
  22. {
  23. echo "<br />";//petit test
  24. echo "Vote en cours d'enregistrement... Merci de patienter.";//Notification
  25. @mysql_connect($host, $user, $pass);
  26. @mysql_select_db("$bdd" ) or die("Impossible de se connecter" );//Connection à MySQL
  27. $req = mysql_query("SELECT * FROM gni_vote" );
  28. while($data=mysql_fetch_array($req)) // Début du code pour aller lire les valeurs déjà entrées ...
  29. {
  30. $votes = $data['votes'];
  31. $nombre = $data['nombre'];
  32. $id = $data['id'];
  33. $url = $data['url'];
  34. } // Fin du code pour les valeurs déjà présentes
  35. $ajout_vote = $votes + $note;
  36. $ajout_nombre = $nombre + 1;
  37. $sql = "UPDATE `gni_vote` SET `votes` = '$ajout_$votes',
  38. `nombre` = '$ajout_$nombre' WHERE `id` =$id AND CONVERT( `nom` USING utf8 ) = '$page' AND CONVERT( `url` USING utf8 ) = '$url' AND `votes` =$votes AND `nombre` =$nombre LIMIT 1 ;
  39. "; // A modifier selon la base ...
  40. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  41. mysql_close();
  42. }
  43. ?>


 
 
 
Et malheuresement pour l'instant ça ne fait rien sur MySQL :s.
 
qu'est ce qui ne va pas ?

Reply

Marsh Posté le 29-10-2006 à 18:28:02    

Je ne crois pas qu'ils aient mysql5 chez free, donc les using utf8 ne peuvent pas fonctionner. Y'a aussi une belle faille de sécurité

Reply

Marsh Posté le 30-10-2006 à 08:10:23    

j'ai juste copier coller la requete que m'affichait MySQL quand je rentrait manuellement (comprendre via phpMyAdmin).
 
Donc il doit supporter je pense.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed