Traitement des données d'un formulaire pour BDD
Posté : 18 févr. 2006, 16:29
Bonjour à tous
,
Bon j'ai plusieurs soucis... je dirais même que je suis un peu perdu !
J'espère juste que je suis dans le bon forum....
, mais mon problème, même s'il y a du PHP concerne bien l'enregistrement dans la BDD.
J'utilise PHP4 et MySQL 4.1 sous Apache.
Mes questions sont les suivantes :
1- Quelle est la meilleure solution pour traiter les données avant envoie dans la BDD (caractères spéciaux, guillemets...) ?
J'ai lu qu'il fallait désormais utiliser la fonction "mysql_real_escape_string"...
Donc en gros il faut quand même cumuler tout du style :
2- Mon autre problème concerne le fameux paramètre magic_quote.
Il semble qu'il existe bien un moyen de détecter si oui ou non il est activé sur le serveur.
Dans ce cas là, il n'est plus nécessaire d'utiliser la fonction "mysql_real_escape_string" puisque le serveur le fait lui même... non ?
En revanche, dans tous les cas de figure, il faut bien exécuter la fonction "stripslashes()" pour l'affichage des données ?
3- Dans le cas où magic_quote était activé, que des enregistrements ont déjà été faits, et que l'on désactive les magic_quote... que se pass-t-il pour l'affichage des données déjà enregistrées ? Ne restera-t-il pas des "\" en trop ?
Merci de vos réponses car je suis vraiment perdu dans toutes ces documentations et méthodes...
Bon j'ai plusieurs soucis... je dirais même que je suis un peu perdu !
J'espère juste que je suis dans le bon forum....
J'utilise PHP4 et MySQL 4.1 sous Apache.
Mes questions sont les suivantes :
1- Quelle est la meilleure solution pour traiter les données avant envoie dans la BDD (caractères spéciaux, guillemets...) ?
J'ai lu qu'il fallait désormais utiliser la fonction "mysql_real_escape_string"...
Donc en gros il faut quand même cumuler tout du style :
$sMaVarialble = mysql_real_escape_string(trim(htmlspecialchars($_POST["mon_champs"])));
Dans ce cas là, il n'y a plus besoin d'utiliser la fonction "addslashes()" ?2- Mon autre problème concerne le fameux paramètre magic_quote.
Il semble qu'il existe bien un moyen de détecter si oui ou non il est activé sur le serveur.
Dans ce cas là, il n'est plus nécessaire d'utiliser la fonction "mysql_real_escape_string" puisque le serveur le fait lui même... non ?
En revanche, dans tous les cas de figure, il faut bien exécuter la fonction "stripslashes()" pour l'affichage des données ?
3- Dans le cas où magic_quote était activé, que des enregistrements ont déjà été faits, et que l'on désactive les magic_quote... que se pass-t-il pour l'affichage des données déjà enregistrées ? Ne restera-t-il pas des "\" en trop ?
Merci de vos réponses car je suis vraiment perdu dans toutes ces documentations et méthodes...