Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2184 connectés 

  FORUM HardWare.fr
  Programmation

  Probleme addslashes, stripslashes ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme addslashes, stripslashes ?

n°79007
Kyle
Posté le 06-12-2001 à 22:02:09  profilanswer
 

Salut !
 
Dans ma table de membres, j'ai un champs surnom.
 
Lorsqu'un membre s'inscrit avec un surnom du type l'enfoire :D, j'ai fais un addslashes pour éviter les erreurs de requetes.
 
Le probleme se situe lorsqu'il s'identifie !
Meme dans phpmyadmin avec la requete suivante, ca ne marche pas  :??:  
 
select * from membre where surnom = 'l\'enfoire'
 
Il ne me retourne aucun résultat alors que la requete est bonne !
Aurais-je omis une fonction php spécifique ?

mood
Publicité
Posté le 06-12-2001 à 22:02:09  profilanswer
 

n°79010
youdontcar​e
Posté le 06-12-2001 à 22:05:14  profilanswer
 

ça dépend de ce que tu stockes dans ta bdd. si tu stockes :
 
* l'enfoiré , la requête sera celle que tu as mis : 'l\'enfoiré'
 
* l\'enfoiré, il faudra mettre un truc style 'l\\'enfoiré' ou 'l\\\'enfoiré'

n°79011
Kyle
Posté le 06-12-2001 à 22:07:16  profilanswer
 

c'est l\'enfoire qui est dans ma table vu que je fais un addslashes lorsque le membre s'inscrit.

n°79012
stef_dober​mann
Personne n'est parfait ...
Posté le 06-12-2001 à 22:08:13  profilanswer
 

il PHPMyAdmin te retourne 'aucun resultat' c que le pseudo 'l'enfoiré' n'a pas été stocké comme ça dans ta bdd.
 
affiche tous les enregistrements et vérifie tous trouvera peu-etre la réponse tout seul  :D


---------------
Tout à commencé par un rêve...
n°79013
youdontcar​e
Posté le 06-12-2001 à 22:09:13  profilanswer
 

he bien essaye la deuxième soluce :) le \ devant le ' dit à mysql de ne pas prendre en compte le '. donc l\\'enfoiré revient à chercher l\'enfoiré.
 
après, je ne sais pas s'il faut rajouter un \ devant le premier \, c'est comme ça en C, PHP est plutôt tolérant sur la chose, et mysql je n'en sais rien. essaye les deux.

n°79014
stef_dober​mann
Personne n'est parfait ...
Posté le 06-12-2001 à 22:10:58  profilanswer
 

je crois aussi qu'il y a PHP qui rajout des \, j'ai déjà eu le problème  et c super chiant  :pt1cable:


---------------
Tout à commencé par un rêve...
n°79015
Kyle
Posté le 06-12-2001 à 22:11:11  profilanswer
 

bon, dans phpmyadmin me retourne le résultat lorsque je met :
 
select * from membre where surnom = 'l\\\'enfoire'
 
bien vu, youdontcare ! ;)
 
Donc, le prob se situe dans mon script :(

n°79016
Kyle
Posté le 06-12-2001 à 22:12:24  profilanswer
 

Le voilou, si vous voyez une erreur ! :)
 
if(isset($submit)){
$cryptedPwd = md5($pass);
$surnom = addslashes($surnom);
$query = "select * from $table_membre where surnom = '".$surnom."' and pass = '".$cryptedPwd."'";
$req = mysql_query($query);
$result = mysql_fetch_array($req);
if($surnom != $result[surnom] || $cryptedPwd != $result[pass]) {
$non = "<script>
  function redirect()
  {
  window.location.replace(\"?menu=membre&rubriqu
 
e=identification&membre=login&%s\" );
  }
  setTimeout(\"redirect();\", 1250);
  </script>Identification refusée.";
} else {
$email_session = $result[email];
session_register("surnom" );
session_register("email_session" );
$oui = "<script>
  function redirect()
  {
  window.location.replace(\"?menu=membre&rubriqu
 
e=index&membre=membre&%s\" );
  }
  setTimeout(\"redirect();\", 1250);
  </script>Identification réussie.";
}
}

 

[edtdd]--Message édité par kyle--[/edtdd]

n°79019
youdontcar​e
Posté le 06-12-2001 à 22:14:45  profilanswer
 

regarde bien ce que te sort le formulaire lors de l'inscription d'un membre. suivant les versions / options de php, les slashs sont rajoutés ou non. si php les rajoute, tu n'as pas besoin de le faire.  
 
car si tu fais insert .... 'l\'enfoiré' tu te retrouveras avec l'enfoiré dans ta table.
 
là, tu dois sûrement faire un addslashes() en trop, ta requête doit ressembler à 'l\\'enfoiré', et tu te retrouves avec l\'enfoiré dans ta table (ce qui n'est pas nécessaire, et plutôt redondant).

n°79020
youdontcar​e
Posté le 06-12-2001 à 22:17:17  profilanswer
 

pour info, tout ce que je récupère d'un formulaire pour ensuite l'insérer dans mysql subit un stripslashes() puis un addslashes(). ce n'est pas optimal, mais comme je bosse avec deux serveurs différents ça permet de récupérer les mêmes infos sur les deux et de ne pas faire deux scripts différents.

mood
Publicité
Posté le 06-12-2001 à 22:17:17  profilanswer
 

n°79022
Kyle
Posté le 06-12-2001 à 22:22:24  profilanswer
 

J'ai essayer avec ou sans addslashes() et bien, meme résultat :(
 
Par ailleur, j'ai tester l'inscription avec un stripslashes puis addslashes, et bien dans ma table, le nom est : l'enfoire et non l\'enfoire... donc a quoi cela peur servir ?

n°79024
youdontcar​e
Posté le 06-12-2001 à 22:27:45  profilanswer
 

kyle a écrit a écrit :

donc a quoi cela peur servir ?  



à quoi quoi peut servir ? :??:

n°79025
Kyle
Posté le 06-12-2001 à 22:30:25  profilanswer
 

de faire un stripslashes() suivit d'un addslashes() !
 
A moins que j'ai mal compris...

n°79026
Kyle
Posté le 06-12-2001 à 22:33:32  profilanswer
 

Bon, je viens de trouver ! :)
 
Manquais bien un addslashes !
 
J'ai rajouter la ligne :
 
$resultsurnom = addslashes($result[surnom]);
 
apres :
 
$result = mysql_fetch_array($req);
 
:)

n°79027
youdontcar​e
Posté le 06-12-2001 à 22:35:30  profilanswer
 

kyle a écrit a écrit :

de faire un stripslashes() suivit d'un addslashes() !
 
A moins que j'ai mal compris...  



à ce que le même code marche sur deux serveurs différents, ie le premier qui ajoute les slash automatiquement, le deuxième qui ne les ajoute pas :D (y'a sûrement plus clean, c'est du vieux code :D)

n°79028
Kyle
Posté le 06-12-2001 à 22:38:30  profilanswer
 

ha, oki boss ! :D
Merci encore !

n°79029
ethernal
Chercheur de vérité...
Posté le 06-12-2001 à 22:41:33  profilanswer
 

lors de l'envoi d'info avec post/get php rajoute des slashes (il fait addslahes() ) pour éviter cela met "magic_quotse_gpc" à off dans php.ini
 
si tu n'as pas envie ou que tu ne peux pas le faire faudrait tester sans addlashes puisque il les rajoutes automatiquement.
 
ça sert pour la sécurité je pense ;)
et "faciliter" aussi la tâche du programmeur qui ne doit pas s'occuper du contenu de la variable postée
 
-- trop tard ;) --

 

[edtdd]--Message édité par ethernal--[/edtdd]

n°79033
youdontcar​e
Posté le 06-12-2001 à 22:53:52  profilanswer
 

ethernal a écrit a écrit :

lors de l'envoi d'info avec post/get php rajoute des slashes (il fait addslahes() ) pour éviter cela met "magic_quotse_gpc" à off dans php.ini


:jap: effectivement, les deux serveurs ont des valeurs différentes pour magic quotes.
 
on peut le changer en runtime ? ie, est-ce affecté par le safe mode ? (comme set_time_limit())

n°79062
ethernal
Chercheur de vérité...
Posté le 07-12-2001 à 00:05:10  profilanswer
 

en runtime ? hum je pense pas :(
(je suis en off)
phpmyadmin a dans le script de configuration (dernière ligne)
"set_magic_quotes_runtime(0);" qui semblerait être une option de configuration en runtime.
 
pourtant, il refuse de valider une requête qui contient des ' dans le texte d'une variable même qd je le passe à 1.
 
évite d'y toucher le résultat est grave :D
il met des \ avant tout " ou ' même dans le code html... :lol:

 

[edtdd]--Message édité par ethernal--[/edtdd]

n°79069
youdontcar​e
Posté le 07-12-2001 à 00:36:59  profilanswer
 

houla :D pas touche donc :D

n°79831
ethernal
Chercheur de vérité...
Posté le 09-12-2001 à 18:59:45  profilanswer
 

article intéressant
http://www.phpinfo.net/?p=articles&rub=magic-quotes
 
le but est d'arriver à des fonctions du style  
function MyStripSlashes( $chaine ) {
  return( get_magic_quotes_gpc() == 1 ?  
          stripslashes($chaine) :  
          $chaine );
}
 
d'après ce qu'ils disent...

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Probleme addslashes, stripslashes ?

 

Sujets relatifs
[PHP ]probleme avec les cookies[PHP MySQL] Problème de suppression d'entrée dans une table...
HTML big probleme[FORMULAIRE] Gros problème...
Problème de copie de fichier en c !!!![PHP] Tableaux, Sort() et probleme...
[DHTML] [JAVA] Petit probleme Netscape - IE[PHP] Problème de cookie...
[php]Problème php/mysqlproblème sur le PHP et MYSQL HELP ME!!!!!!!
Plus de sujets relatifs à : Probleme addslashes, stripslashes ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR