2016-08-16 6 views
2

Meine PHP-Datei gibt keine Werte von der Website an meine E-Mail-Adresse weiter.PHP-Datei ruft keine Werte von der HTML-Website ab

Formularcodeblock in index.html:

<!--Contact Form--> 

<form id="contact" action="mail.php" method="post" enctype="text/plain"> 

<input name="name" placeholder="Your name" type="text" tabindex="1" required autofocus> 

<input name="email" placeholder="Your Email Address" type="email" tabindex="2" required> 

<input name="contact" placeholder="Your Phone Number" type="tel" tabindex="3" required> 

<textarea name="message" placeholder="Your Message...." tabindex="4" required></textarea><br> 

<input id="submit" name="submit" type="submit" value="Submit"/> 
<input id="reset" name="reset" type="reset" value="Reset"> 

CSS:

#contact input[type="text"], 
#contact input[type="email"], 
#contact input[type="tel"], 
#contact textarea { 
    width:75%; 
    box-shadow:inset 0 1px 2px #DDD, 0 1px 0 #FFF; 
    -webkit-box-shadow:inset 0 1px 2px #DDD, 0 1px 0 #FFF; 
    -moz-box-shadow:inset 0 1px 2px #DDD, 0 1px 0 #FFF; 
    border:1px solid #CCC; 
    background:#FFF; 
    border-radius:5px; 
    padding:10px 10px; 
    font-family:Arial, Helvetica, sans-serif; 
    font-size:14px; 
} 
fieldset { 
border:0; 
} 
#contact button [type="submit"], 
#contact button [type="reset"] 
{ 
width:100%; 
height:AUTO; 
} 

PHP-Datei:

<?php 
//collect data 
$name = $_POST['name'];//Your Name 
$email = $_POST['email'];//Email ID 
$contact = $_POST['contact'];//Contact number 
$message = $_POST['message'];//Message 

//declare data 
$to = "[email protected]";//Recipient Email ID 
$subject = "Message from center2enter.com";//Inbox Subject 
$body = "Message from-\n Name: $name\n Email: $email\n Contact: $contact\n Message: $message"; 
mail($to,$subject,$body);//Mail sent 

//redirect 
echo "<div align='center' style ='font:30px Arial,Helvetica,sans-serif; color:blue'>Thank you for your message. I will be in touch with you very soon!</div>";//Thank you Screen 
?> 

Ausgabe erhalte ich auf meine mail:

'Message Von-

Name:

E-Mail:

Kontakt:

Nachricht:'

[Keine Werte erhalten der Variablen auf meiner Website 'center2enter.com' vorgelegt]

Ich habe versucht:

  • $ body = „From: ($ _POST [ 'name']) \ n E-Mail: ($ _POST ['email']) \ n Kontakt: ($ _POST ['contact']) \ n $ message = ($ _POST ['message']) ";

  • $ body = ("Von:". $ Name "\ nEmail:". $ Email "\ nKontakt:". $ Contact "\ nMeldung:" .message);

Muss ich PHPMailer verwenden oder kann ich Post ohne dass senden?

+0

Es sieht nicht so aus, als ob du verifizierst, dass das Formular eingereicht wurde oder die Werte gültig sind –

+1

@JohnConde es ist der Enctype ;-) –

Antwort

5

Einfach; Entfernen Sie enctype="text/plain" von Ihren Formulartags; Es ist kein gültiger Enctype bei der Verwendung von POST-Arrays.

Außerdem habe ich in Ihrem Code kein abschließendes </form>-Tag gesehen, also stellen Sie sicher, dass es tatsächlich vorhanden ist.

Sie sollten auch richtige Header verwenden, sonst könnte Ihr Code für Spam ohne eine gültige From: E-Mail-Adresse verwechselt werden.

Es ist auch ratsam, dass Sie für alle leeren Eingaben zu überprüfen, sollte jemand nicht ein HTML5-kompatiblen Browser verwenden; kann es passieren.

Muss ich PHPMailer oder ich verwenden kann, ohne dass E-Mails senden?

Auch wenn Sie PHPMailer oder andere Mailer verwenden, würden Sie noch die enctype aus dem Formular zu entfernen.

+0

Es hat funktioniert! Danke :) – Vertika

+0

@Vertika Gern geschehen. –

Verwandte Themen