Bonjour,
je viens demander votre aide pour un petit souci je m'explique:
J'ai suivi un tuto sur le net que j'ai reproduis sur mon site pour ma page de formulaire mais le problème c'est que certains messages d'erreurs ne s'affiche pas sur ma page et aussi quand les champs name, firstname et objet ne sont pas pas remplis l'email par tout de même je n'est pas de niveau du tout en php je viens pour un petit coup de pousse je vous en remercie d'avance je vous poste ma page contact.php ainsi que traitement.php .
Ca doit provenir de array_key_exists non ?
Ma page contact.php
<?php session_start(); ?> <!DOCTYPE html> <html lang="fr"> <head> <title>Contact</title> <meta charset="utf-8" > <link href="styles/style.css" rel="stylesheet" > </head> <body> <div id="page"> <!-- DEBUT DE MON ENTETE --> <header> <div id="entete-haut"> <div id="logo"> <h1><a href="index.html">test <span>test</span></a></h1> </div> <div id="menu-entete"> </div> </div> <div id="entete-bas"> <div id="image-entete"> <p>test<span>test</span></p> <p id="createur">Créateur de sens</p> </div> </div> </header><!-- fin DE MON ENTETE --> <div id="principale"> <!-- DEBUT DE col1 --> <div id="col1"> <nav id="menu1"> <ul> <li><a href="test.html">test</a></li> <li><a href="test.html">test</a></li> <li><a href="test.html">test</a></li> <li><a href="test.html">test</a></li> <li><a href="test.html">test</a></li> </ul> </nav> <p class="centragep"> <a href="https://fr.linkedin.com"> <img style="border:1px solid black;width:88px;height:31px" src="images/linkedin.jpg" alt=""/> </a> </p> <p class="centragep"> <a href="http://fr.viadeo.com/fr/"> <img style="border:1px solid black;width:88px;height:31px" src="images/viadeo.jpg" alt=""/> </a> </p> </div><!-- FIN DE col1 --> <div id="col2"> <!-- DEBUT DE COL2A (article) --> <div id="col2a"> <article> <h2>Me Contacter</h2> <?php if(array_key_exists('errors', $_SESSION)): ?> <p> <?= implode('<br>', $_SESSION['errors']); ?> </p> <?php endif; ?> <?php if(array_key_exists('success', $_SESSION)): ?> <div> Votre email a bien été envoyé ! </div> <?php endif; ?> <br/> <form action="traitement.php" method="post"> <div> <label for="inputname">Nom :</label> <input type="text" id="inputname" name="name" value="<?= isset($_SESSION['inputs']['name']) ? $_SESSION['inputs']['name'] : '' ;?> "> </div> <div> <label for="inputfirstname">Prenom :</label> <input type="text" id="inputfirstname" name="firstname" value="<?= isset($_SESSION['inputs']['firstname']) ? $_SESSION['inputs']['firstname'] : '' ;?> "> </div> <div> <label for="inputobjet">Objet :</label> <input type="text" id="inputobjet" name="objet" value="<?= isset($_SESSION['inputs']['objet']) ? $_SESSION['inputs']['objet'] : '' ;?> "> </div> <div> <label for="inputemail">E-mail :</label> <input type="email" id="inputemail" name="email" value="<?= isset($_SESSION['inputs']['email']) ? $_SESSION['inputs']['email'] : '' ;?> "> </div> <div> <label for="inputmessage">Message :</label> <textarea id="inputmessage" name="message"><?= isset($_SESSION['inputs']['message']) ? $_SESSION['inputs']['message'] : '' ;?></textarea> </div> <div class="button"> <button type="submit" name="submit">Envoyer</button> </div> </form> </article> </div><!-- FIN DE COL2A (article) --> <!-- DEBUT DE COL2b (3eme colonne) --> <div id="col2b"> <p class="centragep"><img src="images/photo.jpg" alt=""></p> <p class="centragep">Pour un rendez vous<br> ou<br>un renseignement</p> <p class="centragep">Appelez moi au 06 00 00 00 00</p> </div> <!-- Fin DE COL2b (3eme colonne) --> </div> </div> <p class="centragep"> <a href="http://jigsaw.w3.org/css-validator/check/referer"> <img style="border:0;width:88px;height:31px" src="//jigsaw.w3.org/css-validator/images/vcss-blue" alt="CSS Valide !" /> </a> </p> <!-- DEBUT DU PIED DE PAGE --> <footer> <p><a href="mentions.legales.html">Mentions légales</a></p> </footer><!-- Fin DE pie de page --> </div> </body> </html> <?php unset($_SESSION['inputs']); unset($_SESSION['success']); unset($_SESSION['errors']); ?>
Ma page traitement.php
<?php $errors = []; if(!array_key_exists('name', $_POST) || $_POST['name'] == ''){ $errors['name'] = "Vous n'avez pas renseigné votre nom"; } if(!array_key_exists('firstname', $_POST) || $_POST['firstname'] == ''){ $errors['firstname'] = "Vous n'avez pas renseigné votre prenom"; } if(!array_key_exists('objet', $_POST) || $_POST['objet'] == ''){ $errors['objet'] = "Vous n'avez pas renseigné l'objet de votre message"; } if(!array_key_exists('email', $_POST) || $_POST['email'] == ''){ $errors['email'] = "Vous n'avez pas renseigné votre Email"; } if(!array_key_exists('message', $_POST) || $_POST['message'] == ''){ $errors['message'] = "Vous n'avez pas renseigné votre message"; } session_start(); if(!empty($errors)){ $_SESSION['errors'] = $errors; header('Location: contact.php'); }else{ $_SESSION['success'] = 1; $name = htmlspecialchars($_POST['name']); $firstname = htmlspecialchars($_POST['firstname']); $objet = htmlspecialchars($_POST['objet']); $email = htmlspecialchars($_POST['email']); $message = '<b>Nom:</b>'.$name.'<br/><b>Prenom:</b>'.$firstname.'<br/><b>Objet:</b>'.$objet.'<br/><b>E-mail:</b>'.$email.'<br/><b>Message:</b>'.htmlspecialchars($_POST['message']); $headers = 'FROM: ***@***'; $headers = "Content-Type: text/html; charset=\"iso-8859-1\""; mail('***@***', 'Formulaire de contact', $message, $headers); header('Location: contact.php'); } ?>
Afficher la suite
17 oct. 2015 à 11:30