If et Else php
Résolu
Rom190686
Messages postés
436
Date d'inscription
Statut
Membre
Dernière intervention
-
Rom190686 Messages postés 436 Date d'inscription Statut Membre Dernière intervention -
Rom190686 Messages postés 436 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit problème dans mon code php.
Je vous résume en quelques lignes le problème.
Un formulaire permet de renseigner ses coordonnées. Si le formulaires est complété, alors on enregistre et on on affiche la confirmation. Sinon on affiche un message qui dit que les champs ne sont pas renseignés correctement.
Quand la condition est remplie, pas de problème, tout fonctionne. Mais quand la condition n'est pas remplie, l'enregistrement ne se fait pas mais le texte qui doit s'afficher ne s'affiche pas.
Mon code ci-dessous :
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("mabdd");
If (isset($_POST['nom']) AND isset($_POST['prenom']) AND isset($_POST['codepostal']) AND isset($_POST['localite']) AND isset($_POST['mail']))
{
If ($_POST['nom'] != NULL AND $_POST['prenom'] != NULL AND $_POST['codepostal'] != NULL AND $_POST['localite'] != NULL AND $_POST['mail'] != NULL)
{
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
$codepostal = mysql_real_escape_string(htmlspecialchars($_POST['codepostal']));
$localite = mysql_real_escape_string(htmlspecialchars($_POST['localite']));
$mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
mysql_query("INSERT INTO newsletter VALUES('', '" . $nom . "', '" . $prenom . "', '" . $codepostal . "', '" . $localite . "', '" . $mail ."')");
?>
<p>Votre inscription à bien été prise en compte !</p>
<?php
}
}
else
{
?>
<p>Les champs n'ont pas été remplis correctement, merci de verifier vos coordonnées .<br />Revenir au <a href="newsletter.html">formulaire d'inscription</a></p>
<?php
}
?>
Merci d'avance pour votre aide
J'ai un petit problème dans mon code php.
Je vous résume en quelques lignes le problème.
Un formulaire permet de renseigner ses coordonnées. Si le formulaires est complété, alors on enregistre et on on affiche la confirmation. Sinon on affiche un message qui dit que les champs ne sont pas renseignés correctement.
Quand la condition est remplie, pas de problème, tout fonctionne. Mais quand la condition n'est pas remplie, l'enregistrement ne se fait pas mais le texte qui doit s'afficher ne s'affiche pas.
Mon code ci-dessous :
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("mabdd");
If (isset($_POST['nom']) AND isset($_POST['prenom']) AND isset($_POST['codepostal']) AND isset($_POST['localite']) AND isset($_POST['mail']))
{
If ($_POST['nom'] != NULL AND $_POST['prenom'] != NULL AND $_POST['codepostal'] != NULL AND $_POST['localite'] != NULL AND $_POST['mail'] != NULL)
{
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
$codepostal = mysql_real_escape_string(htmlspecialchars($_POST['codepostal']));
$localite = mysql_real_escape_string(htmlspecialchars($_POST['localite']));
$mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
mysql_query("INSERT INTO newsletter VALUES('', '" . $nom . "', '" . $prenom . "', '" . $codepostal . "', '" . $localite . "', '" . $mail ."')");
?>
<p>Votre inscription à bien été prise en compte !</p>
<?php
}
}
else
{
?>
<p>Les champs n'ont pas été remplis correctement, merci de verifier vos coordonnées .<br />Revenir au <a href="newsletter.html">formulaire d'inscription</a></p>
<?php
}
?>
Merci d'avance pour votre aide
A voir également:
- If et Else php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php ✓ - Forum PHP
- Php alert - Forum PHP
- Php if multiple conditions ✓ - Forum PHP
10 réponses
En minuscules, ça ira déjà un peu mieux : "if" et pas "If"
Tu pourrais directement vérifier tes champs avec la fonction empty qui retourne true si la variable est vide.
Tu pourrais directement vérifier tes champs avec la fonction empty qui retourne true si la variable est vide.
je n'ai pas de probleme avec les champs, les if fonctionnent parfaitement.
C'est le else qui ne va pas.
Si la condition est remplie, alors tout fonctionne.
Sinon, le texte ne s'affiche pas.
C'est le else qui ne va pas.
Si la condition est remplie, alors tout fonctionne.
Sinon, le texte ne s'affiche pas.
<?php mysql_connect("localhost", "root", ""); mysql_select_db("mabdd"); if(!empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['codepostal']) && !empty($_POST['localite']) && !empty($_POST['mail'])) { // Sécurisation des variables $nom = mysql_real_escape_string(htmlspecialchars($_POST['nom'])); $prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom'])); $codepostal = mysql_real_escape_string(htmlspecialchars($_POST['codepostal'])); $localite = mysql_real_escape_string(htmlspecialchars($_POST['localite'])); $mail = mysql_real_escape_string(htmlspecialchars($_POST['mail'])); // Insertion dans la base de données if(mysql_query("INSERT INTO newsletter VALUES('', '" . $nom . "', '" . $prenom . "', '" . $codepostal . "', '" . $localite . "', '" . $mail ."')")) { echo '<p>Votre inscription à bien été prise en compte !</p> '; } else { echo '<p>Erreur lors de l\'inscription</p>'; } } else { echo '<p>Les champs n\'ont pas été remplis correctement, merci de verifier vos coordonnées .<br />'."\n". 'Revenir au <a href="newsletter.html">formulaire d\'inscription</a></p>'."\n"; } ?>
Ce code m'a l'air bien plus clair et complet que le mien. Je le test de suite et te tiens au courant....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ca fonctionne, merci beaucoup...
Au fait, aurais-tu une fonction qui permet de verifier la validité de l'adresse mail?
Merci
Au fait, aurais-tu une fonction qui permet de verifier la validité de l'adresse mail?
Merci
Les regex ...
preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i',$email);
Retourne true si l'email est valide
preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i',$email);
Retourne true si l'email est valide
Les regex fonctionnent parfaitement.
Cependant, je crois qu'il existe un code php ou peut être un java-script qui permet de vérifier la validité d'une adresse mail en envoyant une sorte de ping au serveur de l'adresse mail qui retourne true si l'e-mail existe.
Pour info, la distribution OS commerce (parmi d'autres) utilisent ce genre de vérifications.
Si vous connaissez ce code, je suis preneur...
Cependant, je crois qu'il existe un code php ou peut être un java-script qui permet de vérifier la validité d'une adresse mail en envoyant une sorte de ping au serveur de l'adresse mail qui retourne true si l'e-mail existe.
Pour info, la distribution OS commerce (parmi d'autres) utilisent ce genre de vérifications.
Si vous connaissez ce code, je suis preneur...
La vérification par Javascript ne doit en aucun cas remplacer celle en PHP, mais juste être un complément !
La regex est la même pour n'importe quel langage.
Par contre, tu ne peux pas vérifier si une adresse email existe, mais seulement si il y a un serveur mail sur l'hôte après "@".
https://codes-sources.commentcamarche.net/
La regex est la même pour n'importe quel langage.
Par contre, tu ne peux pas vérifier si une adresse email existe, mais seulement si il y a un serveur mail sur l'hôte après "@".
https://codes-sources.commentcamarche.net/