Validation formulaire avec php
bonjour
j'ai besoin de vous, je sèche depuis quelques jours et n'arrive pas à trouver pourquoi
vous explique: j'ai fait un petit footer avec un petit formulaire pour récupérer les adresses mails des visiteurs, ensuite je l'ai inclus sur toutes mes pages avec include voici le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| <?php
include('bdd.php');
if (!empty($_POST)) {
extract($_POST);
$validation = true;
if(empty($news_email)){
$validation = false;
$input_error = 'Email invalide !';
}
if($validation){
$req = $bdd->prepare('INSERT INTO news_letter (news_email) VALUES(:news_email)');
$req->execute(array(
'news_email'=>$news_email,
));
$req->closeCursor();
$ok = 'Enregistrement effectué !';
}
}
?>
<!--debut footer-->
<div id="footer">
<div id="retour-top"><a href="#main">Retour en haut de page <img src="images/ico-retour.png" /></a></div>
<div id="news-letter">
<form method="post" autocomplete="off">
<label for="nom">News-letter : </label>
<input type="email" placeholder="entrez votre email" name="news_email" id="news_email"/>
<input type="submit" value="ok" />  <?php if(isset($input_error))echo '<span class="news-letter-error">- '.$input_error.'</span>'; ?><?php if(isset($ok))echo '<span class="news-letter-ok">- '.$ok.'</span>'; ?>
</form>
</div>
</div>
<!--fin footer--> |
et j'ai une page livre d'or avec un formulaire ou je récupère pseudo et un text et un captchat dont voici le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
| <?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--appel de la police google font-->
<link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700' rel='stylesheet' type='text/css' />
<!--appel css-->
<link rel="stylesheet" type="text/css" href="styles/style.css"/>
<link rel="stylesheet" type="text/css" href="styles/livreor.css"/>
<link rel="stylesheet" type="text/css" href="styles/bg-fullscreen.css"/>
<!--appel js-->
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/bg-fullscreen.js"></script>
<script type="text/javascript" src="js/opacite-img.js"></script>
<title>Document sans nom</title>
</head>
<body>
<!--debut wrapper-->
<div id="wrapper">
<?php include('include/slideshow.php');?>
<!--debut header-->
<header>
<!--debut logo-->
<div>
<span class="souslogo">Animation-événementiel-mariage-anniversaire</span>
<hr class="hr-3" />
<h1 class="logo">Orchestre<br />
F'com</h1>
<hr class="hr-3" />
</div>
<!--fin logo-->
<!--debut nav-->
<nav>
<ul>
<li><a href="index.php" title="bienvenue chez Fcom">Bienvenue</a><br/><span>Découvrez notre site</span></li>
<li><a href="acoustique.php" title="groupe de musique Fcom">formation sur mesure</a><br/><span>Nos différentes formules musicales</span></li>
<li><a href="photos.php" title="Medias Fcom">Médias</a><br/><span>Regardez, écoutez, visualisez</span></li>
<li class="active"><a class="active" href="livre_or.php" title="livre d'or Fcom">Livre d'or</a><br/><span>Laissez-nous un petit message</span></li>
<li><a href="partenaires.php" title="Partenaires Fcom">Nos partenaires</a><br/><span>Découvrez nos partenaires</span></li>
<li><a href="contact.php" title="Contact Fcom">Contact/devis</a><br/><span>Nous contacter pour un devis</span></li>
</ul>
</nav>
<!--fin nav-->
<!--debut facebook-->
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/fr_FR/sdk.js#xfbml=1&version=v2.0";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class="fb-like-box" data-href="https://www.facebook.com/pages/Fcom/465662665155" data-width="180" data-colorscheme="light" data-show-faces="false" data-header="false" data-stream="false" data-show-border="false"></div> <!--fin facebook-->
</header>
<!--fin header-->
<!--debut section menu-->
<section id="main">
<!--debut section contenu-->
<section id="contenu">
<h1>Bienvenue</h1>
<!--debut réseaux-->
<div id="miniGallery">
<a class="ico-fb" href="http://www.facebook.com/pages/Fcom/465662665155" target="_blank" title="notre facebook>"><img src="images/ico-facebook.png" title="facebook de fcom" alt="facebook de l'orchestre-groupe de musique Fcom" /></a>
<a class="ico-twitter" href="#" target="_blank" title="notre twitter>"><img src="images/ico-twitter.png" title="twitter de fcom" alt="twitter de l'orchestre-groupe de musique Fcom" /></a>
</div>
<!--fin réseaux-->
<hr />
<div class="ariane">Vous êtes ici : <a href="index.php">home</a> >> Livre d'or</div>
<h2 class=" nuancier">Laissez-nous<span class="bleu"> vos appréciations</span></h2>
<hr class="hr-2" />
<p><span class="main-p"> Le Loremrecraccr Ipsum est simplement du faux texte employé dans la composition et la mise en page avant impression.Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis les années 1500, quand un peintre anonyme assembla ensemble des morceaux de texte pour réaliser un livre spécimen de polices de texte.</span></p>
<hr class="hr-2" /><br />
<!--debut livre d'or-->
<article>
<div id="livreor">
<h1>Livre d'or du <span class="bleu">groupe F'com</span></h1>
<br />
<div>
<?php
if(isset($_POST['captcha'])){
if($_POST['captcha'] == $_SESSION['captcha']){
include('bdd.php');
extract($_POST);
$req = $bdd->prepare('INSERT INTO livre (nom,message) VALUES(:nom,:message)');
$req->execute(array(
'nom' =>$nom,
'message'=>$message,
));
$req->closeCursor();echo "<script type='text/javascript'>document.location.replace('livre_or.php');</script>";
}
else{echo'<span class="news-letter-error">le code est invalide.</span>';}}
?>
<form method="post" autocomplete="off">
<input type="nom" style="display:block;margin:auto;" placeholder="entrez votre pseudo" name="nom" id="nom" required="required" /><br />
<textarea placeholder="Votre message" style="display:block;margin:auto;" name="message" id="message" required="required"></textarea><br />
<span style="display:block;text-align:center;color:#000;font-weight:600;font-size:14px;">Veuillez recopier ce code :</span>
<img style="display:block;margin:auto;" src="captcha.php"/><br />
<input class="input" style="display:block;margin:auto;" type"text" name="captcha" maxlength="4" width="100px"; /><br />
<input type="submit" value="Envoyer" />
<input type="reset" value="Effacer"/>
</form>
</div>
</div>
</article>
<!-- fin livre d'or-->
</section>
<!--fin section contenu-->
</section>
<!--fin section menu-->
<?php include('include/aside.php');?>
<?php include('include/footer.php');?>
</div>
<!--fin wrapper-->
</body>
</html> |
le soucis que j'ai c'est quand le captcha n'est pas saisi correctement, j'ai bien mon message d'erreur "le code est invalide", mais du coup j'ai aussi l'erreur de ma news_letter qui se trouve dans mon footer qui m'affiche le message d'erreur quand on saisie pas bien son email
je ne comprends pas pourquoi, quel est le rapport, y a t'il une chose à modifier dans l'un des deux codes?
merci d'avance