|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Futur Membre du Club
![]() Inscription : novembre 2005 Messages : 27 ![]() |
Bonjour à tous,
J'ai programmé un petit script qui permet à un utilisateur de mon site ayant perdu son mot de passe de connection de pouvoir le récupérer en tapant simplement son adresse email. Le script vérifie d'abord que le cryptogramme visuel correspond (pour éviter le brute force ou les bots), puis que le email entré figure bien dans la base de données, et seulement ensuite il envoit le mot de passe par email. Il y a 2 pages : le formulaire d'un coté, et la page contenant le script de l'autre. Voici le début du script de traitement. Code :
On m'a rapidement conseillé d'utiliser : Code :
$mail=mysql_real_escape_string($_POST['email']); Ce pour éviter les injections SQL douteuses Mon script avec $mail=($_POST['email']); marche parfaitement. Des que j'utilise l'instruction mysql_real_escape_string j'ai droit à l'erreur suivante : Code :
Quelqu'un a t il une idée du problème ? Est ce que je fais une mauvaise utilisation de l'instruction mysql_real_escape ? Est il possible de donner des droits à l'user nobody ? J'avoue être un peu perdu sur le coup. Cordialement, Philippe |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
essaye de deplacer le mysql_connect et mysql_select_db AVANT le mysql_real_escape_string
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : novembre 2005 Messages : 27 ![]() |
Bonjour,
Merci pour votre réponse. J'ai testé la manipulation que vous m'avez conseillée, sans succès. Les erreurs sont toujours les mêmes. Cordialement, Philippe |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
Contrairement à mysql_escape_string(), mysql_real_escape_string() demande une connexion ouverte à la bdd pour s'exécuter. Il faut donc la placer en effet après la connexion.
Les messages que tu reçois indiquent que cette connexion n'a pas pu se réaliser. Revois donc les paramètres de connexion à ta bdd. |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : novembre 2005 Messages : 27 ![]() |
Merci à vous deux pour votre aide.
La solution qui m'a été donnée par Fladnag était la bonne, je n'avais pas fait attention à une bête faute de frappe dans un des paramètres de connection. Honte à moi Bonne soirée à tous. Philippe |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : novembre 2005 Messages : 27 ![]() |
Re Vg33,
Effectivement ma tournure de phrase est maladroite Le code contenait 2 erreurs et vous en avez chacun trouvé une Merci à vous 2 donc ! Je passe le sujet en "résolu". |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com