Affichage message erreure

Résolu
Super_carotte Messages postés 185 Date d'inscription   Statut Membre Dernière intervention   -  
 le père -
Bonjour a vous tous,
Voila mon probleme: dans mon code je veux que lorsque certains champs ne sont pas remplis par l'utilisateur un message d'erreur s'affiche.
Or pour l'instant quand les champs en questions ne sont pas remplis j'ai juste une redirection en index.php.

Voila le code:
<?php
//*************************************************
//*************************************************
// AJR
// Creation d'un nouvel utilisateur
//*************************************************

// Insertion d un utilisateur ds la BD
//*************************************************

// Inclusion et execution du fichier db.php
require('db.php');
$_SESSION["StatutErreur"] = '';

// Test qur le bouton clique
if($_POST["ValiderInscription"]=='Valider') // Si bouton de validation

// LE PROBLEME EST A PARTIR D ICI:
if(empty($nom) OR empty($prenom) OR empty($ville) OR empty($codepostal) OR empty($addresse) OR empty($email) OR empty($tel1) OR empty($type))

// CE MESSAGE DEVRAI APPARAITRE
echo 'Attention touts les champs avec une "*" doivent etre remplis !';

// Aucun champ n'est vide, on peut enregistrer dans la table
else

{
// Recuperation des valeurs contenues dans les champs de saisie
$nom = htmlspecialchars(addslashes($_POST["nom"] ));
$prenom = htmlspecialchars(addslashes($_POST["prenom"] ));
$ville = htmlspecialchars(addslashes($_POST["ville"] ));
$codepostal = htmlspecialchars(addslashes($_POST["codepostal"] ));
$addresse = htmlspecialchars(addslashes($_POST["addresse"] ));
$email = htmlspecialchars(addslashes($_POST["email"] ));
$tel1 = htmlspecialchars(addslashes($_POST["tel1"] ));
$tel2 = htmlspecialchars(addslashes($_POST["tel2"] ));
$idparain = htmlspecialchars(addslashes($_POST["idparain"] ));
$nomparain = htmlspecialchars(addslashes($_POST["nomparain"] ));
$prenomparain = htmlspecialchars(addslashes($_POST["prenomparain"] ));
$type = htmlspecialchars(addslashes($_POST["type"] ));

echo "<br>nom = ".$nom;
// Insertion de l utilisateur dans la BD User
mysql_query("Insert Into adherent (nom,prenom,ville,codepostal,addresse,email,tel1,tel2,idparain,nomparain,prenomparain,type) VALUES ('$nom','$prenom','$ville','$codepostal','$addresse','$email','$tel1','$tel2','$idparain','$nomparain','$prenomparain','$type')") or die ("Erreur insert: ".mysql_error());
}

// Insertion du lien de retour
//=========================================
echo '<a href="index.php" title="S\'inscrire dans l\'espace">[Retour]</a><br>';
// Fermeture de la connexion MySQL
@mysql_close();
header('location: index.php');
Configuration: Windows XP
Firefox 2.0.0.9

5 réponses

  1. le père
     
    Bonjour

    Le message d'erreur est peut-être envoyé. Tu exécutes quand même le header('location: index.php'); puisqu'il est en dehors du else.
    D'ailleurs, je ferais la même remarque pour le mysql_close
    Si tu veux que ces deux fonctions ne soent appelées que quand toutes les variables sont définies, mets-les dans le else.

    D'ailleurs le test à faire serait plutôt
    if(empty($_POST[$nom]) OR etc...
    0
  2. Super_carotte Messages postés 185 Date d'inscription   Statut Membre Dernière intervention   127
     
    Eneffet merci je n'ai plus ce probleme, par contre en mettant ton code: if(empty($_POST[$nom]) OR etc... je reçoit ce message:
    Notice: Undefined variable: nom in C:\Program Files\EasyPHP 2.0b1\www\AJR\formulaireInscription.php on line 20
    Attention touts les champs avec une "*" doivent etre remplis ![Retour]

    Donc mon message d'erreure s'affiche bien mais il y a un autre probleme avec nom.
    0
  3. le père
     
    pardon, c'était
    if(empty($_POST['nom']) OR etc...
    mais tu aurais pu (tu as peut-être) corriger de toi-même
    0
  4. Super_carotte Messages postés 185 Date d'inscription   Statut Membre Dernière intervention   127
     
    Merci encore (non je n'ai pas trouver cette erreure tout seule, je commence le PHP sur ce projet, je n'ai pas encores ce genres d'automatisme.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. le père
     
    je commence le PHP sur ce projet

    Alors un conseil : n'écris plus une ligne sans la comprendre. Quand je dis plus une, j'exagère à peine.
    Bonne continuation
    0