bonsoir , les erreurs ne s'affiche pas et par défaut sa affiche tout les champs sont oblligatoire ou est l'erreur dans mon code svp merci d'avance

<?php
require_once 'cnx.php';

if(isset($_POST['envoyer'])) {
if (isset($_POST['pseudo']) AND !empty ($_POST['pseudo']) AND isset($_POST['email']) AND !empty ($_POST['email']) AND isset($_POST['pass']) AND !empty ($_POST['pass']) AND isset($_POST['pass2']) AND !empty ($_POST['pass2']))
{
    $id = '';
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $email = $_POST['email'];
    $pass = sha1($_POST['pass']);
    $pseudo = $_POST['pseudo'];

    $e = $bdd->prepare('SELECT pseudo FROM membre WHERE pseudo ="'.pseudo.'"');
    $e->execute(array($_POST['pseudo']));
    $rep = $e->fetch();

    if (isset($_POST['pseudo'])) {

    $longueur_pseudo = strlen($pseudo);
if ($longueur_pseudo <= 30)
{
    if($i = $bdd->prepare("
      INSERT INTO membre (id,nom,prenom,email,pass,pseudo)
      VALUES (:id,:nom,:prenom,:email,:pass,:pseudo)")
    )

    $i->bindParam(':id', $id);
    $i->bindParam(':nom', $nom);
    $i->bindParam(':prenom', $prenom);
    $i->bindParam(':email', $email);
    $i->bindParam(':pass', $pass);
    $i->bindParam(':pseudo', $pseudo);
    $i->execute();
    $succes ='le compte est crée . connectez vous <a href="connexion.php">ici</a>';
}else{
$erreur ='Le pseudo est trop long (max : 30)';
}
}else{
$erreur ='Le pseudo existe déja'; 
}
}else{
$erreur = 'Tout les champs sont obligatoires.';
}
}
?>

3 réponses


Bonsoir à vous aussi.,

Le mieux est de tester chaque champs indépendamment.

$erreur = "";
if (empty($_POST['pseudo']))
    $erreur .= "Le pseudo est vide<br>";

if (empty($_POST['email']))
    $erreur .= "Veuillez saisir un email<br>";
...
liam
Auteur

merci bien

Déjà pour commencer supprimes

isset($_POST['pseudo']) AND !empty ($_POST['pseudo']) AND isset($_POST['email']) AND !empty ($_POST['email']) AND isset($_POST['pass']) AND !empty ($_POST['pass']) AND isset($_POST['pass2']) AND !empty ($_POST['pass2'])

et remplaces le par

isset($_POST)

Pour tester tu peux faire un var_dump($_POST) pour tester ce qu'il retourne