Probleme isset

Résolu/Fermé
Blablablabla1 - 27 août 2013 à 11:31
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 27 août 2013 à 12:48
Bonjour,

J'essai de sécuriser un peu plus un formulaire de contact que j'ai créé. Seulement je ne comprends pas pourquoi malgré mon isset je parviens toujours à m'envoyer des mails vides avec le formulaire vide... En effet les instructions s'exécutent comme s'il y avait des valeurs :
if (isset($_POST['name']) AND isset($_POST['prenom']) AND isset($_POST['email']))

{

$mail='***@***';


$nombre = $_POST['name'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$msg = $_POST['message'];


$message = "
name:".$nombre."
prenom:".$prenom."
email:".$email."
msg:".$msg."";

if (mail($mail,"Formulaire de contact MV",$message));
echo('<img src="http://blabla.fr/img/facteur.png" style="width: 164px; margin-top:180px; margin-bottom: 66px;"> <br/>Le facteur poste le message,<br/> merci ' . htmlspecialchars($_POST['prenom']). '' );
}
else
{
echo 'Oups, vous avez oublié de renseigner votre nom, votre prénom ou votre adresse mail.';
}
?>

Merci d'avance pour votre aide :).

2 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
27 août 2013 à 11:33
salut,

si tu envoies un formulaire, le isset va te renvoyer true étant donné que le champs existe dans ton formulaire. Il existe, mais il est vide.

En plus de l'isset, tu dois vérifier s'il n'est pas vide.
1
Blablablabla1
27 août 2013 à 11:35
Salut !

Je me disais bien qu'il devait y avoir un truc dans ce genre ! Et comment fait-on cela svp :) ? Sinon je google mais bon

Merci bien !
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
27 août 2013 à 11:36
tout simplement comme ceci :

if (isset($var) && $var != '' && isset($var2) && $var2 != '' && ...
0
Blablablabla1
27 août 2013 à 11:36
J'essais ça, merci !
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
27 août 2013 à 12:41
if(isset($var) && !empty($var))
est plus propre je pense :)
0
Blablablabla1
27 août 2013 à 12:43
C'est comme ça que j'ai procédé mais en deux lignes distincte ;-), tout fonctionne parfaitement merci beaucoup à tous les deux :)
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
27 août 2013 à 12:43
oui, d'ailleurs il me semble que grâce à empty() on peut se passer de isset, à tester.
0