Formulaire De Contact

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire De Contact

Re: Formulaire De Contact

par Dr@ke » 03 avr. 2010, 23:16

Sinon ton erreur ligne 13 c'était car tu avais oublié un ; après la fonction mail():
// manque un ;
mail($destinataire, $sujet, $msg, $entete)

// remplacer par:
mail($destinataire, $sujet, $msg, $entete);
Désolé j''avais oublié de l'expliquer.

Re: Formulaire De Contact

par matthieudu05 » 03 avr. 2010, 23:13

:oops:
J'ai pas tout compris là ...

Re: Formulaire De Contact

par Dr@ke » 03 avr. 2010, 23:08

Euh ...
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\Site Camping\Contact.php on line 15
Normal, j'éditais car j'essayais de faire tout joli et tout :wink:
je ne vois toujours rien qui cloche
Si je t'ai expliqué quoi.

[EDIT]
Ton formulaire n'est pas complet.
Il manque des champs surtout que tu vérifies dans ton script si ils sont présents.
Regarde ici:
http://www.phpdebutant.org/article56.php

Et regarde ce que j'ai écris dans mon premier post, c'est utile je pense :wink:

Re: Formulaire De Contact

par matthieudu05 » 03 avr. 2010, 22:57

<form method="post" action="Contact.php">
    <p align="center">Email :
      <input type="text" /><br />
      Message :
      <textarea name="Message" cols="30" rows="15"></textarea><br />
      <input type="submit" value="Envoyer" />
  </form>
Voila mon code Html mais je ne vois toujours rien qui cloche

Re: Formulaire De Contact

par matthieudu05 » 03 avr. 2010, 22:48

Euh ...
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\Site Camping\Contact.php on line 15

:)

Re: Formulaire De Contact

par Dr@ke » 03 avr. 2010, 22:32

Bonjour,

$_POST est toujours défini, car c'est une Super Gloglale, donc un isset($POST) retournera toujours true.
Par contre un !empty($_POST) -> non.
Donc:
if(!empty($_POST) && isset($_POST['Email']) && isset($_POST['Message'])){
Ensuite, il est plutôt déconseillé d'utiliser extract() avec les variables $_POST.
Surtout que tu fais des isset() et empty(), donc ici en plus c'est inutile.
Donc:
<?php
// Si $_POST n'est pas vide et que les champs du formulaire Email et Message sont envoyés
if (!empty($_POST) && isset($_POST['Email']) && isset($_POST['Message'])) {

   // Si les champs Nom, Email et Message ne sont pas vides
   if (!empty($_POST['Nom']) && !empty($_POST['Email']) && !empty($_POST['Message'])) {

      // L'email Destinataire
      $destinataire = 'contact@**********.com';

     // Le sujet
      $sujet = 'Camping ! ';

     // Le message
      $msg = 'Nouveau mail du site' . "\n";
      $msg .= 'Email : ' . $_POST['Email'] . "\n";
      $msg .= 'Message : ' . $_POST['Message'];

     // L'entête
      $entete = 'From: ' . $_POST['Email'] . "\n";
      $entete .= 'Reply-To: ' . $_POST['Email'];

     // envoie de l'email
     mail($destinataire, $sujet, $msg, $entete);
   } else {
     echo "Vous n'avez pas rempli tous les champs";
   }
}
En complément il faut protéger les variables qui sont postées par le formulaire de possibles injections:
http://www.phpsecure.info/v2/article/Ma ... Inject.php

Et regarde aussi les exemples du manuel ainsi que les commentaires :)
http://fr.php.net/manual/fr/function.mail.php

PS:
Attention, il y a une majuscule dans chaque nom de champ du formulaire du script php ici:
$_POST['Email'], $_POST['Message'] et $_POST['Nom']
Donc il faut que les champs du formulaire html utilisent la même casse :)

Formulaire De Contact

par Chiiip` » 03 avr. 2010, 21:35

Bonsoir à tous,
Je viens solliciter votre aide car j'ai un petit souci :)
Alors voilà, Quand j'essaie mon site en local (avec wampserver), et que je teste mon formulaire, il me dit qu'il y a une erreur ligne 13, or je ne vois pas de fautes particulières :( .
Voila mon Code php :
<?php

if(isset($_POST) && isset($_POST['Email']) && isset($_POST['Message'])){
extract($_POST);
if(!empty($nom) && !empty($email) && !empty($message)){
$destinataire="contact@**********.com";
$sujet="Camping ! ";
$msg="Nouveau mail du site \n
Email : $Email \n
Message : $Message";
$entete="From : $Email \n Reply-to : $Email";
mail($destinataire,$sujet,$msg,$entete)
}
else{
echo "Vous n'avez pas rempli tous les champs";
}
}
?>