La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Pb sur formulaire de contact
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Pb sur formulaire de contact  (Lu 9874 fois)
Pb sur formulaire de contact
« sur: le 29-06-2015 a 10:28:37 »
melu30
Membre récent
*

Hors-Ligne

Messages: 1





Voir le Profil    E-Mail
Répondre avec citation

Bonjour à tous,

J'aurais besoin d'un petit coup de main.
En effet, lors de la création de mon formulaire, j'ai programmé les messages d'erreurs, or lorsque je teste mon formulaire et que j'omets volontairement de remplir une case, j'ai un autre message d'erreur que celui programmé !!!! je n'arrive pas à comprendre ce qui se passe.
D'avance merci pour le coup de main.
ci-dessous mon formulaire ainsi que le programme de traitement, en PHP/

Formulaire:
<?php
  session_start();
  ?>
  <!doctype html>
  <html>
  <head>
  <meta charset="utf-8">
  <title>Formulaire de contact</title>
  <!-- call bootstrap -->
  <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">

</head>
<body  background="fondmarbre03.jpg">
<style="padding:100px 0 200px 0">
  <div style="padding-bottom:100px" class="container">
  <div class="row">
  <div class="col-md-12">
  </div>
  </div>
  </div>
<!-- CONTENT -->
  <div class="container">
  <?php if(array_key_exists('errors',$_SESSION)): ?>
  <div class="alert alert-danger">
  <?= implode('<br>', $_SESSION['errors']); ?>
  </div>
  <?php endif; ?>
  <?php if(array_key_exists('success',$_SESSION)): ?>
  <div class="alert alert-success">
  "Votre email a bien &#233t&#233 transmis !"
  </div>
  <?php endif; ?>
<form action="send_form.php" method="post">
  <div class="row">
<div class="col-md-6">
  <div class="form-group">
  <label for="inputname">Nom</label>
  <input required type="text" name="name" class="form-control" id="inputname" value="<?php echo isset($_SESSION['inputs']['name'])? $_SESSION['inputs']['name'] : ''; ?>">
  </div>
  </div>
<div class="col-md-6">
  <div class="form-group">
  <label for="inputprenom">Pr&#233nom</label>
  <input required type="text" name="prenom" class="form-control" id="inputprenom" value="<?php echo isset($_SESSION['inputs']['prenom'])? $_SESSION['inputs']['prenom'] : ''; ?>">
  </div>
  </div>
<div class="col-md-6">
  <div class="form-group">
  <label for="inputadresse">Adresse</label>
  <input required type="text" name="adresse" class="form-control" id="inputadresse" value="<?php echo isset($_SESSION['inputs']['adresse'])? $_SESSION['inputs']['adresse'] : ''; ?>">
  </div>
  </div>
<div class="col-md-6">
  <div class="form-group">
  <label for="inputcodepostal">Code Postal et Ville</label>
  <input required type="text" name="codepostal" class="form-control" id="inputcodepostal" value="<?php echo isset($_SESSION['inputs']['codepostal'])? $_SESSION['inputs']['codepostal'] : ''; ?>">
  </div>
  </div>
<div class="col-md-6">
  <div class="form-group">
  <label for="inputtelephone">T&#233l&#233phone</label>
  <input required type="text" name="telephone" class="form-control" id="inputtelephone" value="<?php echo isset($_SESSION['inputs']['telephone'])? $_SESSION['inputs']['telephone'] : ''; ?>">
  </div>
  </div>
<div class="col-md-6">
  <div class="form-group">
  <label for="inputemail">Email</label>
  <input required type="email" name="email" class="form-control" id="inputemail" value="<?php echo isset($_SESSION['inputs']['email'])? $_SESSION['inputs']['email'] : ''; ?>">
  </div>
  </div>
<div class="col-md-12">
  <div class="form-group">
  <label for="inputmessage">Message</label>
  <textarea required id="inputmessage" name="message" class="form-control"><?php echo isset($_SESSION['inputs']['message'])? $_SESSION['inputs']['message'] : ''; ?></textarea>
  </div>
  </div>
<div class="col-md-12">
  <button type='submit' class='btn btn-primary'>Envoyer</button>
  </div>
</div>
  </form>
</div>
  <!-- END CONTENT -->
</body>
  </html>
  <?php
  unset($_SESSION['inputs']);
  unset($_SESSION['success']);
  unset($_SESSION['errors']);

Le traitement:
<?php
session_start();
// $errors = [];
  $errors = array();
if(!array_key_exists('name', $_POST) || $_POST['name'] == '') {
  $errors ['name'] = "Merci de renseigner votre nom";
  }
if(!array_key_exists('prenom', $_POST) || $_POST['prenom'] == '') {
  $errors ['prenom'] = "Merci de renseigner votre prenom";
  }
if(!array_key_exists('adresse', $_POST) || $_POST['adresse'] == '') {
  $errors ['adresse'] = "Merci de renseigner votre adresse";
  }
if(!array_key_exists('codepostal', $_POST) || $_POST['codepostal'] == '') {
  $errors ['codepostal'] = "Merci de renseigner le code postal ainsi que la ville";
  }
if(!array_key_exists('telephone', $_POST) || $_POST['telephone'] == '') {
  $errors ['telephone'] = "Merci de renseigner votre numero de t&#233l&#233phone";
  }
if(!array_key_exists('email', $_POST) || $_POST['email'] == '') {
  $errors ['mail'] = "Merci de renseigner votre email";
  }
if(!array_key_exists('message', $_POST) || $_POST['message'] == '') {
  $errors ['message'] = "Merci de renseigner votre message";
  }
  if(!empty($errors)){
  $_SESSION['errors'] = $errors;
  $_SESSION['inputs'] = $_POST;
  header('Location: mail.php');
  }else{
  $_SESSION['success'] = 1;
  $headers  = 'MIME-Version: 1.0' . "\r\n";
  $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  $headers .= 'FROM:' . htmlspecialchars($_POST['email']);
  $to = 'contact@avignon-locations.com';
  $subject = 'Message de: ' . htmlspecialchars($_POST['name']) .' - <i>' . htmlspecialchars($_POST['email']) .' </i>';
  $message_content = '
  <table>
  <td>
  <tr>
  ' . htmlspecialchars($_POST["name"]) .',
  <br>
  ' .htmlspecialchars ($_POST["prenom"]) .',
  <br>
  ' . htmlspecialchars ($_POST["adresse"]) .',
  <br>
  ' .htmlspecialchars ($_POST["codepostal"]) .',
  <br>
  ' . htmlspecialchars ($_POST["telephone"]) .',
  <br>
  ' . htmlspecialchars($_POST["email"]) .',
  <br>
  <br>
  '. htmlspecialchars($_POST["message"]) .',
  <br><br>
    "Site visualis&#233 ==>  http://www.avignon-locations.com"
   </td>
  </tr>
  </table>
  ';
mail($to, $subject, $message_content, $headers);
  header("Location: mail.php");
  }

Rapporter au modérateur  

Re:Pb sur formulaire de contact
« Répondre #1 sur: le 16-08-2015 a 20:32:58 »
zig
Membre récent
*

Hors-Ligne

Messages: 11



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

Salut

Les tableaux sont pas utiles la :

if(empty($_POST['name'])) {
  $_SESSION['erreur']= "Merci de renseigner votre nom<br />";
  }
if(empty($_POST['prenom'])) {
  $_SESSION['erreur'].= "Merci de renseigner votre prenom<br />";
  }
if(empty($_POST['adresse'])) {
  $_SESSION['erreur'].= "Merci de renseigner votre adresse<br />";
  }
if(empty($_POST['codepostal'])) {
  $_SESSION['erreur'].= "Merci de renseigner le code postal ainsi que la ville<br />";
  }
if(empty($_POST['telephone'])) {
  $_SESSION['erreur'].= "Merci de renseigner votre numero de t&#233l&#233phone<br />";
  }
if(empty($_POST['email'])) {
$_SESSION['erreur'].= "Merci de renseigner votre email<br />";
  }
if(empty($_POST['message'])) {
  $_SESSION['erreur'].= "Merci de renseigner votre message<br />";
  }
if(!empty($_SESSION['erreur'])){
  header('Location: mail.php');
}


et dans ton form tu as juste à afficher $_SESSION['erreur']

zig

« Dernière Édition: le 16-08-2015 a 20:35:37 par zig » Rapporter au modérateur  
Re:Pb sur formulaire de contact
« Répondre #2 sur: le 18-08-2015 a 22:17:11 »
pppplus
Habitué
***

Hors-Ligne

Messages: 482



php / mysql

Voir le Profil    WWW
Répondre avec citation

@zig, ce n'est pas très pertinent, puisque ça ne prendra qu'une seule erreur

@melu30 : je n'ai rien vu qui cloche
que donnent :
- print_r($_POST);
- print_r($_SESSION['errors']);
- print_r($_SESSION['inputs']);

La comparaison de tout ça devrait vous aiguiller.

Rapporter au modérateur  

capsules rechargeables Dolce Gusto et Nespresso
jeux flash gratuits avec la plus grosse boutique cadeaux du net
Accessoires cuisine pratiques
Re:Pb sur formulaire de contact
« Répondre #3 sur: le 18-08-2015 a 22:24:51 »
zig
Membre récent
*

Hors-Ligne

Messages: 11



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

Citation de: pppplus le le 18-08-2015 a 22:17:11
@zig, ce n'est pas très pertinent, puisque ça ne prendra qu'une seule erreur

Non c'est un .= pas un = ça ajoute les différentes erreurs dans la même chaine $erreur
Ceci dit j'ai déterré un topic ça datait un peu

zig

Rapporter au modérateur  
Re:Pb sur formulaire de contact
« Répondre #4 sur: le 18-08-2015 a 22:32:21 »
pppplus
Habitué
***

Hors-Ligne

Messages: 482



php / mysql

Voir le Profil    WWW
Répondre avec citation

ah oui, pas vu le .=
Tu l'as corrigé après ou j'ai été miraud ?

Bon, petit déterrage que de juin, tu t'en sors bien...

Rapporter au modérateur  

capsules rechargeables Dolce Gusto et Nespresso
jeux flash gratuits avec la plus grosse boutique cadeaux du net
Accessoires cuisine pratiques
Re:Pb sur formulaire de contact
« Répondre #5 sur: le 18-08-2015 a 22:34:31 »
zig
Membre récent
*

Hors-Ligne

Messages: 11



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

Citation de: pppplus le le 18-08-2015 a 22:32:21
Tu l'as corrigé après ou j'ai été miraud ?

non du tout il y était, sauf sur le premier car il ne sert à rien

zig

Rapporter au modérateur  
Re:Pb sur formulaire de contact
« Répondre #6 sur: le 18-08-2015 a 22:36:10 »
pppplus
Habitué
***

Hors-Ligne

Messages: 482



php / mysql

Voir le Profil    WWW
Répondre avec citation

Bon, problème de lunettes alors...
Les nouvelles arrivent bientôt 

Rapporter au modérateur  

capsules rechargeables Dolce Gusto et Nespresso
jeux flash gratuits avec la plus grosse boutique cadeaux du net
Accessoires cuisine pratiques
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Actualités indisponibles
 
 
 
 
 

Copyright (c) Devclic 2002 - 2021 - Tous droits réservés

creation site internet strasbourg