2017-04-26 1 views
0

Senden IF (I Empfangen von Spam Bot Forms Gestartet)PHP E-Mail-Skript nicht alle Formularfelder

DANN (I Implementiert Neue PHP E-Mail-Skript eine grundlegende Honey Pot Methode)

$ ERROR (New PHP ist nicht Senden aller Formularfelder Meine E-Mail erhält beim Senden des Formulars nur das Feld, textarea id = "message"

$ LOG_FILE (Mein vorheriges PHP-Skript hat eine dynamische Catch-All-Lösung für Formularfelder implementiert)

$ FAILED_SOLUTION (Umgekehrt habe ich versucht hinzuzufügen, um die einzelnen, $ Telefon & $ Adressfelder manuell auf den Leitungen # 6 7 & 14 der PHP bin aber nach wie vor nur die Aufnahme des, TextArea- id = „message“, Feld)

$ NOTES (Ich bin gelehrt Selbst & in der Regel nur mit PHP auf einer Notwendigkeit zu wissen, Basis. Bitte versuchen Sie es einfach zu halten und fügen Sie eine Schritt-für-Schritt-Erklärung hinzu. Fühlen Sie sich frei, irgendwelche "Best Practices" vorschlagen, die ich nicht in Zusammenhang mit meinem Problem übersehen haben könnte!)

$ QUESTION = "Kann mir jemand zeigen, wie man die anderen Formularfelder im PHP-Skript an meine E-Mail senden?"

$ SUCCESS = "Vielen Dank im Voraus für jede Hilfe, die vielleicht gegeben!";

PHP:

<?php 
if($_POST){ 
$to = '[email protected]'; 
$subject = 'Contact Form Submission'; 
$name = $_POST['name']; 
$phone = $_POST['phone']; 
$address = $_POST['address']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$robotest = $_POST['robotest']; 
if($robotest) 
    $error = "Spam Protection Enabled"; 
else{ 
    if($name && $phone && $address && $email && $message){ 
    $header = "From: $name <$email>"; 
    if(mail($to, $subject, $message,$header)) 
     $success = "Your message was sent!"; 
    else 
     $error = "Error_36 there was a problem sending the e-mail."; 
    }else 
    $error = "Error_09 All fields are required."; 
} 
if($error) 
    echo '<div class="msg error">'.$error.'</div>'; 
elseif($success) 
    echo '<div class="msg success">'.$success.'</div>'; 
} 
?> 

HTML FORM:

<form method="post" action="Form_Email.php"> 
    <input type="text" id="name" name="name" placeholder="name" required> 
    <input type="text" id="phone" name="phone" placeholder="phone" required> 
    <input type="text" id="address" name="address" placeholder="address" required> 
    <input type="text" id="email" name="email" placeholder="email" required>        
    <textarea id="message" name="message" placeholder="message" required> </textarea> 
<p class="robotic"> 
    <input name="robotest" type="text" id="robotest" class="robotest" autocomplete="off"/> 
</p> 
    <input type="submit" id="SEND" value="Submit"> 
</form> 
+0

Können Sie Ihre Frage schreiben? – chris85

+2

Sie senden nur diese Variable $ Nachricht nur nicht andere .so müssen verketten, die Sie senden möchten. – JYoThI

+0

@ chris85 Frage zu meinem Beitrag zur Klarstellung hinzugefügt –

Antwort

1

Ihre Nachricht nur $_POST['message'] jetzt enthält. Wenn Sie andere Werte anhängen möchten, verwenden Sie die Verkettung für Ihre $message Variable.

$message .= ($name . $phone . $address . $etc)

Hinweis: Ein $foo .= $bar Bau steht für $foo = $foo . $bar.

Vergessen Sie nicht Whitesigns wie Leerzeichen oder neue Zeilen, wo immer Sie möchten. Einfach verketten ' ' oder "\n".

Danach senden Sie einfach eine Mail mit Ihrer $message als Nachricht.

Verwandte Themen