PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 31-08-2010 15:24:01

squarekorner
Membre
Inscription : 31-08-2010
Messages : 2

formulaire en php

Bjr à tous, un petit coup de main please... ce serait pas de refus.
Donc voici mon problème.
J'ai une page contact dont voici l'adresse pour que vous puissiez jeter un œil
http://www.hbw-technology.com/r6-contact.html

Et donc mon problème se situe au niveau de l'envoi du formulaire...
quand j'ai rempli le formulaire cela m'indique que c'est bien parti... mais je reçois rien.
en fait je voudrais recevoir le formulaire sur mon gestionnaire de mail entourage sous l'adresse info@hbw-technology.com

mon code php est le suivant et se nomme sendContact.php :


<?php

  $from = "info@HBW-TECHNOLOGY.com";
  $from_name = "HBW";
  $subject = "FORMULAIRE CONTACT";
   
  $to = $_POST['email'];
 
  // collect data
  $body = "";
  foreach($_POST as $key => $val)
  {
    if($key != 'captcha')
      $body .= ucfirst($key).": ".$val."\r\n";
  }
 
  // construct MIME PLAIN Email headers
  $header = "MIME-Version: 1.0\n";
  $header .= "Content-type: text/plain; charset=utf-8\n";
  $header .= "From: $from_name <$from>\r\nReply-To: $from_name <$from>\r\nReturn-Path: <$from>\r\n";
       
  $subject="$objet"
  $destinataire="nicolas.prudent@hbw-technology.com";
 
  // send email
  $mail_sent = mail($to, $subject, $body, $header);
?>



puis mon formulaire dans la page html est le suivant :


      <div id="left">
        <div id="contact_form">
          <h1>Contactez-nous</h1>
          <p>Pour nouc contacter, veuillez remplir le formulaire ci-dessous. Merci</p>
          <form method="post" onsubmit="return sendContact();" action="sendContact.php">
            <p>
              <label for="name" id="lname">Nom et prénom:</label>
              <input type="text" class="text" name="name" id="name" onfocus="input_focus('name');" onblur="input_blur('name');" />
            </p>
           
            <p>
              <label for="email" id="lemail">Email :</label>
              <input type="text" class="text" name="email" id="email" onfocus="input_focus('email');" onblur="input_blur('email');" />
            </p>
            <div class="x"></div>
            <p class="error" id="email-error">Vous devez obligatoirement mettre votre email.</p>
           
            <p>
              <label for="category" id="lcategory">Sujet :</label>
              <select name="category" id="category" onfocus="input_focus('category');" onblur="input_blur('category');">
                <option value="Techno">Technologies HBW</option>
                <option value="Communication & marketing">Communication & marketing</option>
                <option value="Service Commercial">Service Commercial</option>
                <option value="Divers">Divers</option>
              </select>
            </p>
            <p>
              <label for="message" id="lmessage">Message:</label>
              <textarea name="message" id="message" onfocus="input_focus('message');" onblur="input_blur('message');"></textarea>
            </p>
            <div class="x"></div>
            <p class="error" id="message-error">Vous devez mettre un message.</p>
           
            <p>
              <label for="captcha" id="lcaptcha"></label>
              <input type="text" class="text" name="captcha" id="captcha" onfocus="input_focus('captcha');" onblur="input_blur('captcha');" />
            </p>
            <div class="x"></div>
            <p class="error" id="captcha-error">Are you shure about your calculations?</p>
            <script type="text/javascript">
              generate_captcha('lcaptcha');
            </script>
           
            <div class="x"></div>
           
            <input type="submit" class="submit" name="send_contact" value="Envoyez votre message" />
          </form>
 

donc voilà je vois pas trop où se situe le problème de l'envoi...
si c'est dans le php même ou si c'est dans le formulaire au niveau de la méthode d'envoi... si quelqu'un peut me tuyauter...  ce serait super kewl de vot' part
merci d'avance

Hors ligne

#2 31-08-2010 16:33:30

floriangendrot
Membre
Inscription : 03-03-2010
Messages : 11

Re : formulaire en php

Bonjour,
Je suis débutant en Php mais je sais que bien souvent les logiciels de messagerie bloquent les courriers envoyés à partir de script php en les mettant direct dans les courriers indésirable. C'est donc la premiere chose à vérifier.

    $mail_sent = mail($to, $subject, $body, $header);

essai sans la variable devant.

Avec toute les réserves du monde !
Florian

Hors ligne

#3 31-08-2010 16:44:57

squarekorner
Membre
Inscription : 31-08-2010
Messages : 2

Re : formulaire en php

Je te remercie mais en fait cela ne change pas grand chose, en supprimant en supprimant la variable

Hors ligne

#4 01-09-2010 01:53:40

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : formulaire en php

salut

est ce qu'un mail simple est reçu ?
$header .= "From: $from_name <$from>\r\nReply-To: $from_name <$from>\r\nReturn-Path: <$from>\r\n"; <= y des chance que l'interpreteur php ne trouve pas $form_name mais seulement form. La concaténation ou l'utilisation des {} est préférable.

$subject="$objet" <= d'où viens la variable objet ? dans ce cas le sujet sera littéralement $objet

est ce que le mail n'est pas dans le dossier spam ou directement supprimé ? (les mail envoyés par php peuvent l'être).

le traitement du formulaire est peu orthodoxe et laisse place à tout sauf quelque chose de correct.

Il faut vérifier la présence de tout les champ avant de les utiliser pour ensuite construire le mail.

est ce que le formulaire est correctement validé ?

qu'est ce qui indique que "c'est bien partis" ? le javascript du onsubmit ? (le JS c'est le mal wink ).

Pour debuguer var_dump() est très utile est permet de voir le contenue exact des variables (par exemple var_dump($_POST) afin de voir ce que le formulaire fournit comme info.

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

Pied de page des forums