Transfert text du formulaire vers BDD

Eléphanteau du PHP | 12 Messages

19 oct. 2009, 18:29

Salut, j'ai 2 problèmes de transfert de text d'un formulaire vers ma bdd.
Le premier c'est l'impossibilité d'utiliser "mysql_real_escape_string" sinon le nevigateur me rend cette erreur apres execution de la page dans wamp2:

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in E:\Installations\wamp\www\teste\index.php on line 26

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in E:\Installations\wamp\www\teste\index.php on line 26
mon deuxieme problème c'est que l'apostrophe n'est pas acceptée, par exemple quand je tape un text contenant une ' dans le formulaire, le navigateur me rend:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'est toi ')' at line 1
Mille manières pour un résultat ;-)
Image

ViPHP
fab
ViPHP | 2657 Messages

19 oct. 2009, 18:38

Pour la première, si tu utilises mysql_real_escape_string il faut te connecter à la base données ( c'est expliqué clairement la doc :p )

Pour la deuxième : http://fr.php.net/manual/fr/function.htmlentities.php :)
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphanteau du PHP | 12 Messages

19 oct. 2009, 19:04

merci fab les deux problèmes sont résolus.
enfet j'ai une petit remarque, les deux codes suivants donnent le meme résultat:

/*Premier code*/
$pseudo=mysql_real_escape_string(htmlentities($_POST['pseudo']))

/*Deuxième code*/
$pseudo=mysql_real_escape_string(htmlspecialchars(htmlentities($_POST['pseudo'])))

je me demande si le premier code donne une protection contre le HTML comme le deuxième?
Mille manières pour un résultat ;-)
Image

ViPHP
fab
ViPHP | 2657 Messages

19 oct. 2009, 19:17

htmlspecialchars ne convertit que certains caractères tandis que htmlentities fait la conversation pour tous les caractères dont il est possible de trouver un équivalent en HTML. Le doublon est inutile :)

Tu trouveras plus d'infos sur les caractères convertis par htmlspecialchars sur la doc http://fr.php.net//htmlspecialchars
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphanteau du PHP | 12 Messages

19 oct. 2009, 19:53

ok, merci
Mille manières pour un résultat ;-)
Image