test de formulaire

Mammouth du PHP | 601 Messages

07 août 2006, 21:03

Bonjour,
j'ai un test qui ne passe pas
En effet si un champs est vide sur les trois sa s'imprime malgrés tout...
http://creatif-web.be/anaska/jour6/newsletter.php
<?php
if($_POST)
{
    if(empty($_POST['email']) && empty($_POST['nom']) && empty($_POST['prenom']))
    {
        $message = "tous les champs sont obligatoires";
	   echo $message;
    }
    else
    {//traitement formulaire
        $adresse_fichier = 'newsletter.txt';
        $contenu = $_POST['nom'].' | '.$_POST['prenom'].' | '.$_POST['email'].chr(13).chr(10);
        //autre manière
        /*       
       //j'enlève la valeur du bouton
        array_pop($_POST);
        $contenu = implode(',', $_POST);
        */
       file_put_contents($adresse_fichier, $contenu,FILE_APPEND);
    }
}
else
{
    $message1 = 'Merci de remplir tout les champs';
    echo $message1;
}
//$ad_fichier =
?>
<html>
<head>
</head>
<body>
<h1>Newsletter</h1>
<?php
echo $message;
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Nom <input type="text" name="nom" /><br />
Prenom <input type="text" name="prenom" /><br />
E-mail <input type="text" name="email" /><br />
<input type="submit" name="inscrire" value="s'inscrire" />
</form>
Merci.
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

07 août 2006, 21:25

Bonsoir,

Essaye avec des OU:
 if(empty($_POST['email']) || empty($_POST['nom']) || empty($_POST['prenom'])) 
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 601 Messages

07 août 2006, 21:35

oui c'est sa, mais c'est logique en plus, honte sur moi,
merci.
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"