Affichage message erreure

Résolu/Fermé
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 - 8 janv. 2008 à 20:56
 le père - 9 janv. 2008 à 10:27
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');

5 réponses

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
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
9 janv. 2008 à 06:17
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
pardon, c'était
if(empty($_POST['nom']) OR etc...
mais tu aurais pu (tu as peut-être) corriger de toi-même
0
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
9 janv. 2008 à 10:22
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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