Affichage message erreure
Résolu
Super_carotte
Messages postés
1420
Date d'inscription
Statut
Membre
Dernière intervention
-
le père -
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');
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');
A voir également:
- Affichage message erreure
- Recuperer message whatsapp supprimé - Guide
- Message supprimé whatsapp - Guide
- Message absence thunderbird - Guide
- Epingler un message whatsapp - Accueil - Messagerie instantanée
- Affichage double ecran - Guide
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...
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...
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.
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.
pardon, c'était
if(empty($_POST['nom']) OR etc...
mais tu aurais pu (tu as peut-être) corriger de toi-même
if(empty($_POST['nom']) OR etc...
mais tu aurais pu (tu as peut-être) corriger de toi-même
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question