SYSTEM DE VOTE AJAX.

Dav_c Messages postés 194 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 11 décembre 2015 - 25 nov. 2010 à 02:46
Dav_c Messages postés 194 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 11 décembre 2015 - 21 mai 2012 à 18:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52513-system-de-vote-ajax

Dav_c Messages postés 194 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 11 décembre 2015
21 mai 2012 à 18:17
Hola tu fais tu déterrage? xD les variables servent à configurer le script.
nb-étoiles sert a dire sur cmb d'étoiles on peut voter.
Id_vote sert a attribuer yb id au vote lui méme.
Mod ne servais plus rien. ( déja 2 ans oula )
note est la note attribuer par les visiteur.

Bon si jme rappelle bien, le but étais tous simplement de re-charger un bout de la page avec de nouveaux paramètres pour php qui servaient à enregistrer les votes dans une base de donner, en faire la moyenne et l'afficher sous forme d'étoiles.

En faite tu peut mettre autant d'étoiles que tu veut. Il faut seulment que tu te rapelle que chaque étoiles vas ajouter un paramètre ID_vote=XX¬e=xx
ex: ID_vote=0¬e=5.

Si on n'a déja 5 entrer dans la base donner ex:
ID_vote=0¬e=5
ID_vote=0¬e=2
ID_vote=0¬e=3
ID_vote=0¬e=1
5+2+3+1/4=2.75
Donc 2 étoiles et une moitier.

Si ID_vote=1 sa veut dire que l'on parle d'un autre sondage.

Point important a retenir. ID_vote sera l'id du "vote lui même" donc tu utilise le script pour plusieur chose fais sure de lui attribuer un numéro bien a lui.

Example noter une photo et un video qui on tous les 2 l'id 0 dans la base de donner. mais ce n'est pas le même vote.

Espérent t'avoir aider un peu, hésite as a me recontacter pour d'autre info.
PS: se code la est pas parfait xd.
anfel4 Messages postés 3 Date d'inscription dimanche 20 mai 2012 Statut Membre Dernière intervention 21 mai 2012
21 mai 2012 à 10:06
bonjour,
je demmande une explication détaillée des variable de ce dode source, cest quoi Nb_etoile et ou ce trouve dans une table aider moi S.V.P
J'ai un message d'erreur ici:
}
$Nb_etoile=split(';',$Nb_etoile);
for ($cpt=0; $cpt<(count($Nb_etoile)); $cpt++){
$temps_etoile = $temps_etoile + $Nb_etoile[$cpt];
}
merci
anfel4 Messages postés 3 Date d'inscription dimanche 20 mai 2012 Statut Membre Dernière intervention 21 mai 2012
21 mai 2012 à 09:42
bonjour,
j'ai pas arriver a noter ce code source, comment faire ca ?
merci
anfel4 Messages postés 3 Date d'inscription dimanche 20 mai 2012 Statut Membre Dernière intervention 21 mai 2012
21 mai 2012 à 09:37
bonjour,
j'ai copier le code source mais j'ai des erreurs la ligne 3,4,5 c'est quoi ID_vote,Mod,note
Merci.
cs_hornetbzz Messages postés 59 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 3 janvier 2011
29 nov. 2010 à 17:50
un gros +1 sur les commentaires précédents.

commentaires additionnels:
- code fouilli: séparer js, php, html
- utiliser js non intrusif (function Onload(init)), mais il te faut tout recoder,
- il fait quoi le gentil visiteur si js n'est pas activé dans son navigateur (utiliser balises <noscript>) ?
- utiliser le DOM plutot que innerHTML qui risque de te mener à qq surprises,
- toujours pour la portabilité, utilises le "DOM event" plutot que de jeter des "onclick" partout,- virer les trucs du genre # var div div; # var file file;
- sécuriser tes "$_GET" ! tel que c'est, n'importe qui entre n'importe quoi,
- éviter les cookies pour ce genre de code, utilises eventuellement les sessions si tu en as vraiment besoin,
- injection mysql à prévoir: soit utilises les requetes préparées, soit sécurises le code, soit les 2.

bref, maintenant que tu as défriché le terrain et que tu commences à comprendre ajax, peut-être serait il judicieux de recoder proprement (DOM, mvc, separation de codes, failles securitaires..) avant de passer à une partie "admin". Car tel quel, le code présente trop de failles sécuritaires et n'est absolument pas portable.

Bon courage
syllebreton Messages postés 66 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 28 décembre 2010
29 nov. 2010 à 10:03
Salut,

Essaye de ne pas mélanger tout ton code. Tu mélanges le html, le php et le javascript. Ce qui amène à un code peu lisible (pense à quelqu'un qui voudrait reprendre ton code).

Le niveau de cette source est plus débutant, qu'initié.

Les pistes à creuser pour améliorer le code :
- Le pattern MVC pour la séparation du code : http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur ;
- Séparer les différentes parties de ton code ;
- Regarde du coté de PDO (http://php.net/manual/fr/book.pdo.php) pour l'accès générique à la base de données.
- Peut-être un framework Javascript (si ça n'alourdis pas trop le code) : jQuery, Prototype ...
- Faire une classe PHP pour empaqueter le tout.

Voilà quelques pistes qui devraient te permettre d'apprendre un peu plus en PHP.

Bye.
tiefedan Messages postés 2 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 1 décembre 2010
29 nov. 2010 à 09:44
pour le PHP ça vient doucement c'est bien! mais pour le français tu envisages des progrès? scuze il neige, j'ai les boules ;)
dannywilde Messages postés 27 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 30 mars 2009
29 nov. 2010 à 06:29
je n'ai pas encore regardé le code mais ton explication... au moins 1 faute par ligne...
Dav_c Messages postés 194 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 11 décembre 2015
29 nov. 2010 à 01:10
Merci la je comprend.
lassie14 Messages postés 45 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 mai 2010
29 nov. 2010 à 01:07
ton script est sympa mais il y a une très grosse faille
une grande porte ouverte pour toute les failles de type sql injection
et ce que t'as écrit cod57 c'est pour éviter d'avoir des erreurs si les variable ne sont pas définie
et pour le sql injection il te faut vérifier tes variables
dans ton cas c'est que des chiffres donc une simple regex et c'est bon
Dav_c Messages postés 194 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 11 décembre 2015
25 nov. 2010 à 11:38
Je comprend le isset ok mais pk je viderais ma var si est dja vide????
Dav_c Messages postés 194 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 11 décembre 2015
25 nov. 2010 à 11:37
Jajoute. dsl yer 5:30am ici pis jmenvas me coucher.

Sa recupère quoi un $_GET???????
Dav_c Messages postés 194 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 11 décembre 2015
25 nov. 2010 à 11:36
Mod ne sert a rien encore.
Les autre:
ID_vote ser l'ID du vote ( heinnnnn , pour la db )
Note je sais pas p-t pour la note qui est noter.....
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
25 nov. 2010 à 10:28
bonjour

$_GET elles viennent d'ou CES VARIABLES

déjà dés le départ

//$ID_vote = $_GET['ID_vote'];
//$Mod = $_GET['Mod'];
//$note = $_GET['note'];

if(isset($_GET['ID_vote']) && !empty($_GET['ID_vote']) ){
$ID_vote = $_GET['ID_vote'];
} else {
$ID_vote = NULL;
}

if(isset($_GET['Mod']) && !empty($_GET['Mod']) ){
$Mod = $_GET['Mod'];
} else {
$Mod = NULL ;
}

if(isset($_GET['note']) && !empty($_GET['note']) ){
$note = $_GET['note'];
} else {
$note = NULL ;
}

a++
Dav_c Messages postés 194 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 11 décembre 2015
25 nov. 2010 à 02:46
J'ai dis que je la posterais après avoir demander un coup de main, la voila.
Soyer sévère j'apprend mais je ne puis m'améliorer sans critique.
Rejoignez-nous