2016-05-24 13 views
2

Ich habe einige Probleme mit meinem Kontaktformular, ich habe viele Lösungen versucht, aber es funktioniert immer noch nicht.Kontaktformular mit ausgewählten Feldfragen

Ich habe ein einfaches Kontaktformular mit grundlegenden Eingaben und einem Auswahlfeld. Alle Felder werden per E-Mail gesendet, mit Ausnahme der Daten in meinem Auswahlfeld.

Hier ist mein HTML-Formular:

<section class="section-signup bg-faded mt80"> 
 
         <div class="container"> 
 
         <div class="row"> 
 
          
 
           <h3 class="text-xs-center">Je veux devenir un point de vente</h3> 
 
           <p class="subform m-b-3">Merci de préciser si vous êtes une entreprise, un courtier, un investisseur, un professionnel ou autre</p> 
 
           <div class="form-bottom contact-form"> 
 
           <form role="form" action="contact.php" method="post"> 
 
           <div class="form-group col-md-4"> 
 
            <label for="email_expediteur">Votre adresse e-mail :</label> 
 
            <input type="text" name="email" placeholder="Email..." class="contact-email form-control" id="contact-email"> 
 
            </div> 
 
            <div class="form-group col-md-4"> 
 
            <label for="email_expediteur">Sujet :</label> 
 
            <input type="text" name="subject" placeholder="Sujet..." class="contact-subject form-control" id="contact-subject"> 
 
            </div> 
 
            <div class="col-md-4 form-group"> 
 
             <label for="jesuis">Je suis : </label> 
 
             <select class="form-control" name="jesuis"> 
 
              <option value="">Selectionnez...</option> 
 
              <option value="entreprise">Une entreprise</option> 
 
              <option value="courtier">Un courtier</option> 
 
              <option value="investisseur">Un investisseur</option> 
 
              <option value="professionnel">Un professionnel</option> 
 
              <option value="autre">Autre</option> 
 
             </select> 
 
           </div> 
 
            <div class="col-md-12 form-group"> 
 
            <label for="contact-message">Message :</label> 
 
            <textarea name="message" placeholder="Message..." class="contact-message form-control" id="contact-message"></textarea> 
 
            </div> 
 
            <div class="col-md-12 form-group"> 
 
            <label for="contact-antispam">Question Antispam : 7 + 5 = ?</label> 
 
            <input type="text" name="antispam" placeholder="Votre réponse..." class="contact-antispam form-control" id="contact-antispam"> 
 
            </div> 
 
            <div class="col-md-6 col-md-offset-3 form-group centered"> 
 
            <button type="submit" class="btn">Envoyer</button> 
 
            </div> 
 
           </form> 
 
          </div> 
 
          
 
         </div> 
 
        </div>  
 
        
 
       </section>

Und hier ist mein contact.php:

<?php 
 

 
// Email address verification 
 
function isEmail($email) { 
 
    return filter_var($email, FILTER_VALIDATE_EMAIL); 
 
} 
 

 
if($_POST) { 
 

 
    // Enter the email where you want to receive the message 
 
    $emailTo = '[email protected]'; 
 

 
    $clientEmail = addslashes(trim($_POST['email'])); 
 
    $subject = addslashes(trim($_POST['subject'])); 
 
    $message = addslashes(trim($_POST['message'])); 
 
    $antispam = addslashes(trim($_POST['antispam'])); 
 
    $jesuis = addslashes(trim($_POST['jesuis'])); 
 

 
    $array = array('emailMessage' => '', 'subjectMessage' => '', 'messageMessage' => '', 'antispamMessage' => '', 'jesuisMessage' =>''); 
 

 
    if(!isEmail($clientEmail)) { 
 
     $array['emailMessage'] = 'Email Invalide'; 
 
    } 
 
    if($subject == '') { 
 
     $array['subjectMessage'] = 'Sujet manquant'; 
 
    } 
 
    if($message == '') { 
 
     $array['messageMessage'] = 'Message manquant'; 
 
    } 
 
    if($antispam != '12') { 
 
     $array['antispamMessage'] = 'Mauvaise réponse'; 
 
    } 
 
    if($jesuis == '') { 
 
     $array['jesuisMessage'] = 'Merci de préciser si vous êtes une entreprise, un courtier, un investisseur, un professionnel ou autre'; 
 
    } 
 
    if(isEmail($clientEmail) && $subject != '' && $message != '' && $antispam == '12' && $jesuis != '') { 
 
     // Send email 
 
    $headers = "From: " . $clientEmail . " <" . $clientEmail . ">" . "\r\n" . "Reply-To: " . $clientEmail; 
 
    mail($emailTo, $subject . " (Formulaire de contact MUST Assurances)", $message, $headers, $jesuis); 
 
    } 
 
    
 

 
    echo json_encode($array); 
 

 
} 
 

 
?>

Haben Sie irgendwelche Ideen?

Prost.

Loïc

+0

Es ist, weil Ihre '$ jesuis' Variable in den 5. Parameter von' mail() ', nicht in den Körper der Nachricht eingefügt wird. Sie müssen es mit der Variable $ message eingeben und als fünften Parameter der Funktion entfernen. Siehe http://php.net/manual/en/function.mail.php – Qirel

+0

Warum senden Sie die '$ jesuis' im Parameter additional_parameters der Funktion' mail'? Es sollte in Ihrer Nachricht oder Ihrem Betreff sein – olibiaz

+0

Sie müssen auch SMTP-Server angeben. Siehe http://stackoverflow.com/questions/6093976/setting-smtp-details-for-php-mail-function – Mickey

Antwort

1
$message = "Je suis un(e) ".$jesuis." ".$message; 
mail($emailTo, $subject . " (Formulaire de contact MUST Assurances)", $message, $headers); 

Ihr fünften Parameter Sinn ergeben sich nicht.