Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/09/2007, 18h18   #1
Invité régulier
 
Inscription : juillet 2007
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 59
Points : 8
Points : 8
Par défaut Enlever les antislashes ajoutés par $_post

bonjour,
j'ai un probleme avec une chaine de caractere qui contien une apostroffe,
cette chane doit transiter apr 3 pages (avec la method post),chaque fois recuperer par $_post.
exemple:
Code :
$chaine=c'est une fomule d'abonnemen
dans la 2eme page elle apparait
Code :
c/'est une fomule d/'abonnemen
dans la 3eme page ellle apparait
quelqu'un peut me donner la solution pour que dans la 2eme page je recupere la chaine comme
Code :
c/'est une fomule d/'abonnemen
merci
etud_ini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2007, 18h34   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Désactivez la fonctionnalité magic_quotes_gpc de PHP (valeur Off) si vous avez accès au fichier php.ini ou à l'aide d'un fichier .htaccess sinon utilisez la fonction stripslashes (à chaque script).

Faites une recherche à partir de ces éléments si vous souhaitez de plus amples informations
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 09h49   #3
Invité régulier
 
Inscription : juillet 2007
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 59
Points : 8
Points : 8
merci de votre reponse,
j'ai utilisé stripslashes(), dans la 2eme page ,j'ai afficher le resultat,c bon:
Code :
c'est une fomule d'abonnemen
.
mais le pb et lors du passage de la 2eme a la 3eme la phrase devient
S.O.S
etud_ini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 10h36   #4
Membre du Club
 
Inscription : octobre 2004
Messages : 42
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2004
Messages : 42
Points : 40
Points : 40
Envoyer un message via MSN à MicroAlexx
Bonjour,

utilise :

Code :
$chaine = stripslashes($_POST['chaine']);

et pour mieu faire :

Code :
1
2
3
4
5
if (get_magic_quotes_gpc()) {
  $chaine = stripslashes($_POST['chaine']);
} else {
  $chaine = $_POST['chaine'];
};
mais attention aux sql inject
la valeur de $chaine ne doit pas etre passé a une requete sql sans utiliser mysql_real_escape_string() (ou équivalent)

Cordialement,
MicroAlexx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 11h34   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par etud_ini
mais le pb et lors du passage de la 2eme a la 3eme la phrase devient
N'utiliseriez-vous pas le caractère apostrophe (') comme délimiteurs de l'attribut value de vos champs de formulaire input ? Si oui, orientez-vous vers la fonction htmlentities (valeur du deuxième paramètre : ENT_QUOTES) pour y (re)placer vos valeurs.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 19h42   #6
Invité régulier
 
Inscription : juillet 2007
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 59
Points : 8
Points : 8
bonjour,
merci julp pour votre assistance.
effectivement j'utilise le caractère apostrophe ('),j'ai utilisé la fonction: htmlentities,mais ca n'a rien donné.
voici mon code
dans la page une:

Code :
echo"<tr><td>description</td><td><textarea name='descr' cols='30' rows='4'></textarea></td></tr>"
la 2eme page
Code :
1
2
3
	$descr=$_POST["descr"];
	$descr=htmlentities($descr);
             echo "<input type='hidden' name='descr' value='$descr'>";
et dans la 3eme page
Code :
$descr=$_POST["descr"];
les resultat de debogage
dans la premiere page :je saisie
Code :
c'est une formule d'abonnement
la 2eme page
Code :
c\'est une formule d\'abonnement
la 3eme
merci de votre aide
etud_ini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 20h04   #7
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par julp
orientez-vous vers la fonction htmlentities (valeur du deuxième paramètre : ENT_QUOTES) pour y (re)placer vos valeurs
Et où est ce paramètre ? Il est important sinon je ne l'aurais pas mentionné : le comportement normal de la fonction, si vous regardez la doc, est de ne pas convertir les guillemets simples. Sinon vous pouvez aussi changer le délimiteur de vos attributs.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 20h16   #8
Invité régulier
 
Inscription : juillet 2007
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 59
Points : 8
Points : 8
rebonjour,
j'ai utiliser
Code :
1
2
$descr=$_POST["descr"];
	$descr=htmlentities($descr,ENT_QUOTES);
dans la deuxieme page et ca donné
comment changer le délimiteur de mes attributs, dans l'exemple que je vous y donné SVP
merci
etud_ini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 20h52   #9
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Parce que vous n'en avez plus là j'imagine. Voilà pour votre demande :
Code :
echo '<input type="hidden" name="descr" value="' . htmlentities(stripslashes($_POST['descr'])) . '" />';
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 21h10   #10
Invité régulier
 
Inscription : juillet 2007
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 59
Points : 8
Points : 8
merci infiniment
etud_ini est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h52.


 
 
 
 
Partenaires

Hébergement Web