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
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
Warum senden Sie die '$ jesuis' im Parameter additional_parameters der Funktion' mail'? Es sollte in Ihrer Nachricht oder Ihrem Betreff sein – olibiaz
Sie müssen auch SMTP-Server angeben. Siehe http://stackoverflow.com/questions/6093976/setting-smtp-details-for-php-mail-function – Mickey