apostrophe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : apostrophe

par Truc » 13 janv. 2006, 15:08

puisque tu dis que tu as
test de l\\\'affichage
Si $_POST['objet'] contient "l'affichage" avec les "magic_quotes" à ON tu as:
echo $_POST['objet'];  // => l\'affichage
echo addslashes($_POST['objet']); // l\\\'affichage
je vois pas d'autre solution...

tu peux traiter les variables avec ce test:
$objet=(!get_magic_quotes_gpc()) ? addslashes($_POST['objet']) : $_POST['objet'];

par Invité » 13 janv. 2006, 14:40

tu n'as pas un addslashes qui se balade quelque part ?
Salut,

Non j'ai bien regardé je n'ai aucun addslashes qui traine...
Est-ce du au fait que j'ai magic_quotes_gpc à ON dans le php.ini ??

Merci

par mario » 13 janv. 2006, 14:34

Code : Tout sélectionner

if (($_POST[natures] == "") or ($_POST[objet] == "") or ($_POST[daterealisation] == "")) {
pourquoi n'y a t-il pas de quote dans les superglobales ?
l'utilisation de empty() est plus élègante à mon goût

if ( (!empty($_POST['natures'])) || (!empty($_POST['objet'])) || (!empty($_POST['daterealisation'])) ) {
 


}

par Truc » 13 janv. 2006, 14:25

tu n'as pas un addslashes qui se balade quelque part ?

par Invité » 13 janv. 2006, 14:18

j'ai un peu avancé.

lors de mon retour j'ai fait un echo da ma variable $_GET[objet] et j'obtenais ça :

Code : Tout sélectionner

test de l\\\'affichage
si je mets en place un stripslashes j'ai ça :

Code : Tout sélectionner

test de l\'affichage
il m'en reste 1 \.

je suis obligé de remettre un stripslashes pour qu'il le vire...
Pourquoi suis-je obligé de le faire 2 fois ??? et pourquoi j'ai 3 \\\ au retour ?

merci de vos lumières.

par Invité » 13 janv. 2006, 13:50

Sans voir le code, difficile.
voici le code :

Ici, je vérifie que les champs obligatoires sont postés.

Code : Tout sélectionner

if (($_POST[natures] == "") or ($_POST[objet] == "") or ($_POST[daterealisation] == "")) { print "<b>ATTENTION : Les champs marqués d'une * sont obligatoires. Veuillez rectifier. Merci. </b><br> <a href="principal.php?page=creer&natures=$_POST[natures]&objet=$_POST[objet]&texte_demande=$_POST[texte_demande]&daterealisation=$_POST[daterealisation]&lien=$_POST[lien]"> Retour formulaire </a>"; exit(); }
Voici le code du formulaire si retour il y a (sur le champs objet) :

Code : Tout sélectionner

if ($_GET[objet] != "") { $objet = stripslashes($_GET[objet]); print "<input name='objet' type='text' size='40' class='input' value='$objet'/>"; } else { print "<input name='objet' type='text' size='40' class='input' />"; }
J'ai également essayé de mettre le stripslashes avant le lien du retour, mais rien n'à faire je me retrouve toujours avec des \ et le cassement de la chaine.

Merci de ton aide.[/code]

par Cyrano » 13 janv. 2006, 13:04

Sans voir le code, difficile.

par nicophp371 » 13 janv. 2006, 13:03

J'ai déjà mis stripslashes et le \ est toujours présent lorsque je revient dans mon formulaire...
Une idée ???
Merci

par Truc » 13 janv. 2006, 12:27

pour enlever des / => stripslashes()

Re: apostrophe

par mario » 13 janv. 2006, 12:27

Comment faire pour gérer le retour en ayant un affichage sans \.
http://fr3.php.net/stripslashes

apostrophe

par nicophp371 » 13 janv. 2006, 12:23

Bonjour,

J'ai qq soucis avec la gestion des apostrophes lorsque je post un formulaire. Le paramètre "magic_quotes_gpc" est à ON dans le php.ini, donc je n'ai pas de souci pour l'insertion dans une base.

Mon problème est le suivant :
Lorsque l'utilisateur valide le formulaire, si celui-ci comporte une erreur, il clique sur retour formulaire avec les valeurs qu'il a posté (afin d'éviter qu'il se retape tout le formulaire !). Mais lorsque l'un des champs postés comporte une apostrophe, le retour ne se passe bien.
Je reviens bien sur mon formulaire, mais il y a toujours un \ devant l'apostrophe ou parfois ça coupe complètement la chaine.

Comment faire pour gérer le retour en ayant un affichage sans \.

merci de votre aide.