Formulaire php : \' antislash non désiré

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 : Formulaire php : \' antislash non désiré

Re: Formulaire php : \' antislash non désiré

par lafeuille » 20 janv. 2011, 08:35

Tu peux aussi faire

$message .= "numero :\t${_POST['numero']}\n\n";

^^
Bravo !

Merci à tous.

Re: Formulaire php : \' antislash non désiré

par devlop78 » 20 janv. 2011, 01:21

Tu peux aussi faire

$message .= "numero :\t${_POST['numero']}\n\n";

^^

Re: Formulaire php : \' antislash non désiré

par Ryle » 19 janv. 2011, 21:52

Alors pour faire simple (et traduire un peu de ce chinois), ce qu'il faut savoir c'est que pour des raisons de sécurité et de lisibilité, il est préférable d'indiquer d'où proviennent les variables auxquelles tu tentes d'accéder. En gros comme $numero peut faire référence aussi bien à la variable "numero" présente dans l'url, envoyée par un formulaire, ou même stockée en session, il est préférable d'utiliser $_GET['numero'] pour dire explicitement que tu utilises celle dans l'url, $_SESSION['numero'] pour celle en session, etc.

L'idée ici est donc d'utiliser de préférence $_POST['numero']. Maintenant tu peux très bien stocker la valeur que tu as reçu de ton formulaire et la stocker dans $numero :
$numero = $_POST['numero'];
Cela permet également de ne rien avoir à changer au reste de ton code :)

Ou sans affectation, tu peux également inclure cette variable et la concaténer directement à ta chaine
$message .= "numero :\t". $_POST['numero'] ."\n\n";

Re: Formulaire php : \' antislash non désiré

par lafeuille » 19 janv. 2011, 18:37

Quand je mets ça ça fonctionne :

{
$message .= $numero = $_POST['numero'];
$message .= $titre = $_POST['titre'];
$message .= $_POST['desc'];
$message .= $Tarif = $_POST['tarif'];
$message .= $Email = $_POST['email'];
$message .= $Site = $_POST['site'];
}

mais si je remets les \n\n pour retour à la ligne, ça plante !
Comment faut-il faire ?

Re: Formulaire php : \' antislash non désiré

par stealth35 » 19 janv. 2011, 17:37

Ca marche pas !
c'est un peu vague...

un message d'erreur ?

Re: Formulaire php : \' antislash non désiré

par moogli » 19 janv. 2011, 17:36

roo zut y'a un truc qui va pas ?

essai la concaténation ça réglera le problème.


@+

Re: Formulaire php : \' antislash non désiré

par lafeuille » 19 janv. 2011, 17:10

Ca marche pas !

SetEnv REGISTER_GLOBALS 0
SetEnv ZEND_OPTIMIZER 0
SetEnv MAGIC_QUOTES 0
SetEnv PHP_VER 5


{
$message .= "numero :\t$_POST['numero']\n\n";
$message .= "titre :\t$_POST['titre']\n\n";
$message .= "Desc :\t$_POST['desc']\n\n";
$message .= "tarif :\t$_POST['tarif']\n\n";
$message .= "Email :\t$_POST['email']\n\n";
$message .= "Site Web :\t$_POST['site']\n\n";
}

Re: Formulaire php : \' antislash non désiré

par stealth35 » 19 janv. 2011, 16:47

Houla, c'est un peu chinois tout ça, et alors je fais quoi ?
c'est pas $numero mais $_POST['numero']

Re: Formulaire php : \' antislash non désiré

par lafeuille » 19 janv. 2011, 16:44

Houla, c'est un peu chinois tout ça, et alors je fais quoi ?

Re: Formulaire php : \' antislash non désiré

par moogli » 19 janv. 2011, 16:42

hum a vu de nez (et de ton code) tu ne connais pas $_POST, $_GET etc ?

les variables auto déclaré, pourquoi c'est mal
la magie noire des apostrophes magique ;)

le premier lien explique ton problème lorsque le paramètre register globals est à 0 (et pourquoi ne pas le mettre à 1), le second explique ton premier problème.


@+

Re: Formulaire php : \' antislash non désiré

par stealth35 » 19 janv. 2011, 16:42

Ah bon ? quand je mets à 0, je reçois un message vide...
http://php.net/manual/fr/security.globals.php
:wink:

Re: Formulaire php : \' antislash non désiré

par lafeuille » 19 janv. 2011, 16:39

Ah bon ? quand je mets à 0, je reçois un message vide...

Re: Formulaire php : \' antislash non désiré

par stealth35 » 19 janv. 2011, 16:31

REGISTER_GLOBALS doit être a 0

Re: Formulaire php : \' antislash non désiré

par lafeuille » 19 janv. 2011, 16:29

Très grandes salutations, j'ai enfin trouvé :

SetEnv REGISTER_GLOBALS 1
SetEnv ZEND_OPTIMIZER 0
SetEnv MAGIC_QUOTES 0
SetEnv PHP_VER 5

Merci

Re: Formulaire php : \' antislash non désiré

par stealth35 » 19 janv. 2011, 16:07

j'ai mis : php_flag magic_quotes_gpc Off

je suis chez OVH
regarde dans le guide d'OVH c'est une autre config qu'il faut mettre