Guillemets et formulaire

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Lilive
Salamandre
Messages : 39
Inscription : 02 mars 2006, 09:50

Guillemets et formulaire

Message par Lilive »

Bonjour,
Je rencontre quelques soucis avec mes guillemets dans mes formulaires. Je gère plusieurs sites hébergés chez Free et quand je récupère mes données par POST, s'il y a une guillemet simple ou double, selon le site :
- soit ça ajoute automatiquement des \ devant,
- soit ça ne récupère que la donnée jusqu'à la guillemet...
Je sais que je peux rétablir la chose avec stripslashes ou addslashes mais je voulais savoir s'il y avait une "solution idéale universelle". :wink:

Dans la récupération du formulaire, si les ' et les " ne sont pas échappés, que faire ?
exemple :
$_POST["champ1"] -> récupération des guillemets simples mais pas doubles
$_POST['champ1'] -> récupération des guillemets doubles mais pas simples
Puis-je récupérer les deux sans échappement ?

Déjà pourquoi la protection des données de formulaire n'est pas activée sur TOUS les sites de Free ? Puis-je moi-même contrôler ce paramètre depuis mon script ? Autrement dit contrôler l'activation des échappements lors de l'envoi du formulaire.

J'aimerai éviter qu'au final, dans la base sql, les données se retrouvent avec plein de \ partout... (voire des doubles \\ si le formulaire subit des rééditions).

Merci pour votre aide.
Lilive
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Message par Asumbaa »

Salut,

Tu peux gérer ça en testant la configuration du serveur par get-magic-quotes-gpc.
Si c'est activé, tu fais rien, si ça ne l'est pas tu addslashes avant d'insérer en base et tu stripslashes avant d'afficher ce qui vient de la base.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Lilive
Salamandre
Messages : 39
Inscription : 02 mars 2006, 09:50

Message par Lilive »

Merci.
c'est le même paramètre qui gère lors de l'envoi du formulaire récupéré ensuite en POST que celui qui "mouline" avant l'insertion dans la base de donnée sql ?
Lilive
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Re: Guillemets et formulaire

Message par Asumbaa »

Salut,

C'est ça qui me parait bizarre dans ton premier post :
Lilive a écrit :$_POST["champ1"] -> récupération des guillemets simples mais pas doubles
$_POST['champ1'] -> récupération des guillemets doubles mais pas simples
Normalement y'a aucun souci à ce moment là. C'est seulement au moment de l'insertion en base que tu dois échapper les guillemets simples ou doubles.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Do-IT
Iguane
Messages : 537
Inscription : 03 juil. 2005, 09:46

Message par Do-IT »

Code : Tout sélectionner

$champ1= isset($_POST['champ1'])? trim (strip_tags (stripslashes( $_POST['champ1]))):NULL;
J'utilise ça pour récupérer les données de mes formulaires.
En plus le isset permet de vérifier si le champ a été rempli, ça évite une notification d'erreur php (ne pas confondre avec message d'erreur)

Attention ça c'est juste pour récupérer les données, ensuite il faudra encore vérifier si le contenu correspond à ce que tu attends.
Redhat, CentOs, Mandriva, Ubuntu au boulot. Ubuntu à la maison. Vista et Xp grâce à la vente liée.
Soutenir KompoZer
Lilive
Salamandre
Messages : 39
Inscription : 02 mars 2006, 09:50

Message par Lilive »

Merci pour votre aide ! :wink:
Je pense que j'ai maintenant ce qu'il faut pour ne pas avoir d'ennuis.
Lilive
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités