Souci avec else
celishug
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
celishug -
celishug -
Bonjour,
J'ai fait un formulaire qui ne fonctionne qu'en partie, je m'explique
3 champs: nom, adresse mail, commentaire
Je souhaite que si l'un des champs nom ou adresse mail soit vide, un message d'erreur apparaisse sinon message indiquant que l'inscription est bien prise en compte.
Bref, à l'heure actuelle, si l'adresse mail est bonne et même si le champ nom est vide, il s'affiche le double message "merci de remplir tous les champs et félicitations". Il semblerait qu'il y ait une erreur avec else.
Bref, ci-dessous mon code php.
Quelqu'un aurait-il la solution?
D'avance merci :
<?php
ini_set('display_errors', 'off');
$nom=$_POST['nom'];
$email=$_POST['email'];
$commentaire=$_POST['commentaire'];
if(empty($nom) or empty($email))
{
echo'Veuillez remplir tous les champs','<br/>';
}
if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#",$_POST['email']))
$db=mysql_connect('localhost','root','') or die ('Erreur de connection'.mysql_error());
mysql_select_db('exo2',$db) or die ('Merci de renseigner votre adresse mail'.mysql_error());
$sql = "insert into exo2(id, nom, email, commentaire) values ('','$nom', '$email', '$commentaire')";
mysql_query($sql) or die ('Erreur d\'écriture'.mysql_error());
else
{
echo'Tous les champs doivent être renseignés';
}
{
echo'Félicitations, vous venez de nous rejoindre';
}
mysql_close();
?>
J'ai fait un formulaire qui ne fonctionne qu'en partie, je m'explique
3 champs: nom, adresse mail, commentaire
Je souhaite que si l'un des champs nom ou adresse mail soit vide, un message d'erreur apparaisse sinon message indiquant que l'inscription est bien prise en compte.
Bref, à l'heure actuelle, si l'adresse mail est bonne et même si le champ nom est vide, il s'affiche le double message "merci de remplir tous les champs et félicitations". Il semblerait qu'il y ait une erreur avec else.
Bref, ci-dessous mon code php.
Quelqu'un aurait-il la solution?
D'avance merci :
<?php
ini_set('display_errors', 'off');
$nom=$_POST['nom'];
$email=$_POST['email'];
$commentaire=$_POST['commentaire'];
if(empty($nom) or empty($email))
{
echo'Veuillez remplir tous les champs','<br/>';
}
if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#",$_POST['email']))
$db=mysql_connect('localhost','root','') or die ('Erreur de connection'.mysql_error());
mysql_select_db('exo2',$db) or die ('Merci de renseigner votre adresse mail'.mysql_error());
$sql = "insert into exo2(id, nom, email, commentaire) values ('','$nom', '$email', '$commentaire')";
mysql_query($sql) or die ('Erreur d\'écriture'.mysql_error());
else
{
echo'Tous les champs doivent être renseignés';
}
{
echo'Félicitations, vous venez de nous rejoindre';
}
mysql_close();
?>
A voir également:
- Souci avec else
- Soucis avec if then et else ✓ - Forum Excel
- Vba if else ✓ - Forum VB / VBA
- Python if-else ✓ - Forum Python
- Batch if else ✓ - Forum Autoit / batch
- Problème avec "else" sur Python ✓ - Forum Python
3 réponses
Voila une possibilité :
<?php ini_set('display_errors', 'off'); function ifisset($value, $default=null) { $val = (isset($_GET[$value])) ? $_GET[$value] : $default; $val = (isset($_POST[$value])) ? $_POST[$value] : $default; return $val; } $nom = ifisset('nom'); $email = ifisset('email'); $commentaire = ifisset('commentaire'); if($nom != null && $email != null && preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#",$email)) { $db=mysql_connect('localhost','root','') or die ('Erreur de connection'.mysql_error()); mysql_select_db('exo2',$db) or die ('Merci de renseigner votre adresse mail'.mysql_error()); $sql = "insert into exo2(id, nom, email, commentaire) values ('','$nom', '$email', '$commentaire')"; mysql_query($sql) or die ('Erreur d\'écriture'.mysql_error()); } elseif ($nom != null && $email != null) { echo 'L\'email renseigné n\'est pas valide ! '; } elseif($nom == null && $email == null) { echo 'Veuillez remplir les champs nom et email'; } elseif($nom == null) { echo 'Veuillez remplir le champ nom'; } else { echo 'Veuillez remplir le champ email'; } mysql_close(); ?>
'lut, vires-moi ces fonctions
Apprends a utiliser les Exceptions, et construit ta gestion d'erreur à partir de ça (en supplément d'être le moyen de gestion d'erreur de PDO ou MySQLi).
mysql_*... Je suis sérieux, débarrasses-toi en, car elles induisent la gestion d'erreur que tu utilise, qui est atroce:
or diec'est le mal.
Apprends a utiliser les Exceptions, et construit ta gestion d'erreur à partir de ça (en supplément d'être le moyen de gestion d'erreur de PDO ou MySQLi).
J'ai peur d'abuser si je demande la petite phrase de bienvenue si tout est ok. J'ai tenté de la rajouter à la suite mais elle n'est pas prise en compte.
Merci de ta bienveillance