|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Inscription : août 2009 Messages : 360 ![]() |
Bonjour,
je souhaite que les utilisateurs puissent voter pour des morceaux de musique : mon code ci-dessous fonctionne bien sauf : 1 - on peut voter plusieurs fois pour le même morceau 2 - le vote sur un titre qui contient des apostrophes n'est pas pris en compte (exemple de titre : "Le Rêve de l'Homme" et si on vote, le résultat est : Merci d'avoir voté pour : Le Rêve de l\'Homme et du coup n'est pas pris en compte dans le total des votes...) si vous pouvez m'aider pour les points 1 et 2 ci-dessus ? Merci d'avance. morceaux.php : Code :
voter.php : Code :
|
||||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
il fait mettre un mysql_real_escape_string sur les valeurs
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 360 ![]() |
Bonjour stealth35,
j'ai modifié ceci : Code :
mysql_query("UPDATE ".morceaux_groupe." SET vote_groupe=vote_groupe+1 where titre='".$_POST['votez']."'"); Code :
mysql_query("UPDATE ".morceaux_groupe." SET vote_groupe=vote_groupe+1 where titre='".mysql_real_escape_string(nl2br($_POST['votez'])."'"); Merci d'avoir voté pour : Le Rêve de l\'Homme et du coup n'est pas pris en compte dans le total des votes...) où est mon erreur ? Merci. |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Jérémy Étudiant Inscription : octobre 2009 Messages : 236 ![]() |
Code :
mysql_query("UPDATE morceaux_groupe SET vote_groupe=vote_groupe+1 where titre='".mysql_real_escape_string($_POST['votez'])."'"); |
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
regarde du côté de la fonction addslashes()
|
|
|
01
|
|
|
#6 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
en quoi addslashes est plus adapté que mysql_real_escape_string ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 360 ![]() |
@ gwharl
cela ne fonctionne pas avec ton code, j'ai toujours le même souci : (exemple de titre : "Le Rêve de l'Homme" et si on vote, le résultat est : Merci d'avoir voté pour : Le Rêve de l\'Homme et du coup n'est pas pris en compte dans le total des votes...) j'ai oublié de préciser : dans ma base SQL, voici ce que j'ai dans la colonne "titre" : Le Rêve de l'Homme Type : varchar(255) interclassement : latin1_general_cs Encore merci |
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
t'as les magic_quote d'activé ?
http://www.php.net/manual/fr/securit....disabling.php
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 360 ![]() |
désolé stealth35 mais je ne comprends pas où je dois mettre ce magic_quotes et comment ?
Merci de ton aide. |
|
|
00
|
|
|
#10 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonjour,
mysql_real_escape_string() - Protège les caractères spéciaux d'une commande SQL addslashes() - Ajoute des antislashs dans une chaîne j'avais pour habitude de faire avant l'insertion en base : Code :
addslashes(mysql_real_escape_string($_POST['toto'])) |
|
|
01
|
|
|
#11 | ||
|
Membre éclairé
![]() Jérémy Étudiant Inscription : octobre 2009 Messages : 236 ![]() |
Citation:
tiré de la doc PHP addslashes : Citation:
|
||
|
|
00
|
|
|
#12 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 360 ![]() |
Pardon gwharl mais...
magic_quote se configure dans le fichier "php.ini" OK mais où je trouve ce fichier php.ini : je ne le vois pas sur mon serveur chez Free ? Merci. |
|
|
00
|
|
|
#13 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
Citation:
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#14 | |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Citation:
En faite, j'utilisais la addslashes(mysql_escape_string()) mais je viens de voir qu'elle est deprecated. J'avais appris cela sur le site du zéro il me semble. Pour autant, j'en prends bonne note.
|
|
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 360 ![]() |
Que faut-il utliser alors pour un bon fonctionnement :
addslashes ou mysql_escape_string() ? et je ne trouve toujours pas php.ini ? merci. |
|
|
00
|
|
|
#16 |
|
Membre éclairé
![]() Jérémy Étudiant Inscription : octobre 2009 Messages : 236 ![]() |
Utilise mysql_escape_string() car la fonction est spécifique à ton SGBD
pour php.ini, dit nous ton OS et si tu utilise un package style WAMP, LAMP, etc... |
|
|
00
|
|
|
#17 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 360 ![]() |
@ gwharl :
mon OS : Linux Ubuntu 10.10 package style WAMP, LAMP, etc... : je ne sais pas où cela se trouve ? |
|
|
00
|
|
|
#18 |
|
Membre confirmé
![]() Bertrand Étudiant Inscription : octobre 2010 Messages : 216 ![]() |
Bonjour,
si je puis me permettre change ta base de données et attribut un identifiant numérique pour chaque chanson (parce que utilisé le titre de la chanson comme identifiant...). Cela résoudra ton problème de vote .Sinon montre nous ta base de données stp
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître Ps: N'oubliez pas SVP
|
|
|
10
|
|
|
#19 |
|
Membre éclairé
![]() Jérémy Étudiant Inscription : octobre 2009 Messages : 236 ![]() |
Je suppose que tu as installé apache, mysql, etc... via une commande de ce style.
Code :
sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Dossier php et sous-dossier compris. edit : +1 pour l'idée de retrokiller, imagine le nom de la musique change (on ne sais pourquoi, censure, etc...). |
|
|
00
|
|
|
#20 | ||||
|
Membre du Club
![]() Inscription : août 2009 Messages : 360 ![]() |
j'ai résolu le point 2 en modifiant ainsi :
=> vote par numéro unique et non par titre par contre, comment faire pour le point 1 ? 1 - on peut voter plusieurs fois pour le même morceau Merci. morceaux.php : Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com