Bonjour,
Je suis étudiant dans le code.
Jusqu'à present mon formulaire fonctionnait bien.
Aujourd'hui je fais un test. Lorsque tous les champs sont rempli, la page traitement doit afficher "Formulaire transmis".
S'il n'est pas rempli correctement, la page doit afficher "Veuillez remplir tous les champs".
Quel que soit ce que je remplis ou pas j'ai maintenant "Formulaire transmis Veuillez remplir tous les champs".
Pouvez vous m'aider?
Le code
<?php
try
{
// On se connecte à MySQL
$bdd = new PDO('mysql:host=localhost;dbname=formulaire;charset=utf8', 'root', 'root');
echo "Formulaire transmis";
}
catch(Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
if (!empty ($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['tel']) && !empty($_POST['mail']) && !empty($_POST['msg']) && strlen($_POST['nom'])>1 && strlen($_POST['prenom'])>1)
{
// injection balise html
$_POST['nom']=strip_tags($_POST['nom']);
$_POST['prenom']=strip_tags($_POST['prenom']);
$_POST['tel']=strip_tags($_POST['tel']);
$_POST['mail']=strip_tags($_POST['mail']);
$_POST['msg']=strip_tags($_POST['msg']);
// l'insertion pour le formulaire
$req=$bdd->prepare('INSERT INTO Données(nom,prenom,tel,mail,msg) VALUES(:nom,:prenom,:tel,:mail,:msg)');
// l'execuxion du formulaire
$req->execute(array(
'nom'=>$_POST['nom'],
'prenom'=>$_POST['prenom'],
'tel'=>$_POST['tel'],
'mail'=>$_POST['mail'],
'msg'=>$_POST['msg'],
));
}
//affichage de l'erreur
else {
echo "Veuillez remplir les champs";
}
?>