2016-11-18 10 views
0

Ich habe ein einfaches HTML-Formular, das POST-Methode verwenden sollte, um das Formular zu senden, und es wird Formularinhalte auf mail.php senden E-Mail senden. Ich habe die PHP-Mail-Funktion arbeitet auf dem Server mit dem folgenden Code verifiziert:Formular nicht eingereicht

$headers = 'From: [email protected]'; mail('[email protected]', 'test email yo', 'This is a test email message', $headers, '[email protected]'); 

der PHP-Code verwende ich die E-Mail zu senden, wird wie folgt:

mail('[email protected]', $_POST['name'], $_POST['email'], $_POST['phone'], $_POST['message']); 

das HTML-Formular, das sein sollte dies ist die Info gesendet:

<form id="contact-form" class="contact-form" method="post" action="mail.php"> 
    <div class="success-message">Contact form submitted.</div> 
    <div class="coll-1"> 
     <p class="mbot3">Name*</p> 
     <label class="name"> 
      <input type="text" placeholder="" data-constraints="@Required @JustLetters" name="name"/> 
      <span class="empty-message">*This field is required.</span> 
      <span class="error-message">*This is not a valid name.</span> 
     </label> 
    </div> 
    <div class="coll-2"> 
     <p class="mbot3">E-mail*</p> 
     <label class="email"> 
      <input type="text" placeholder="" data-constraints="@Required @Email" name="email"/> 
      <span class="empty-message">*This field is required.</span> 
      <span class="error-message">*This is not a valid email.</span> 
     </label> 
    </div> 
    <div class="coll-3"> 
     <p class="mbot3">Phone</p> 
     <label class="phone"> 
      <input type="text" placeholder="" data-constraints="@JustNumbers" name="phone"/> 
      <span class="empty-message">*This field is required.</span> 
      <span class="error-message">*This is not a valid phone.</span> 
     </label> 
     </div> 
     <label class="message"> 
      <span class="mbot3">Message*</span> 
      <textarea placeholder="" data-constraints="@Required @Length(min=20,max=999999)" name="message"></textarea> 
      <span class="empty-message">*This field is required.</span> 
      <span class="error-message">*The message is too short.</span> 
     </label> 
    <div> 
     <a href="#" data-type="submit" class="btn-link btn-link1"><img src="img/arrow1.png" alt="">submit</a> 
     <p class="req">* Required fields</p> 
    </div> 
</form> 

ich kann nicht den Inhalt des Formulars erhalte in der E-Mail durch kommen, ich gehe davon aus möglicherweise falsch, dass das Problem mit der Form ist und es die Fähigkeit th POST e Informationen zu PHP?

Dieser Code stammt von einer vorgefertigten Vorlage, die ich selbst nicht geschrieben habe.

Edit: Wie vorgeschlagen, ich habe die Namensattribute hinzugefügt, aber das hat das Problem nicht behoben. Aktualisiertes HTML, um den aktuellen Code widerzuspiegeln

Edit2: Habe das Problem gelöst, ich musste ID = "contact-form" nicht sicher, was damit verbunden war, dass das Formular einreichen verhindert, aber das tat es. Von dort nahm ich die Stile aus der ursprünglichen Form und fügte sie zu einer neuen ID hinzu, die ich durch sie ersetzte.

+1

geben name-Attribut Eingabetyp wie diese und dann versuchen, diesen Namen zu bekommen $ _POST –

+0

versuche, ** name ** in allen Eingabearten hinzuzufügen, wie

+0

Nur eine Änderung @NIMESHPATEL name = "name" not name = "first_name", wie er als $ _POST ['name'] empfängt – PassionInfinite

Antwort

3

Sie verfehlten den Namen zum Eingang und TextArea- Feld

<input type="text" placeholder="" data-constraints="@Required @JustLetters" name = "name"/> 

Der Namensattribut die gleichen Namen von $ _POST [ 'name'], wie Sie erhalten haben sollten

+0

Ich habe die Namensattribute hinzugefügt, aber die E-Mail kommt immer noch nicht durch. – benikens

+0

Ändern Sie den Eingabetyp = Text in E-Mail für E-Mail. – PassionInfinite

+0

Ich habe das hinzugefügt und immer noch keine Würfel. – benikens

0

Überprüfen Sie diese Felder auf Ihrem HTML Code,

<input type="text" placeholder="" data-constraints="@Required @JustLetters" /> 
<input type="text" placeholder="" data-constraints="@Required @Email" /> 
<input type="text" placeholder="" data-constraints="@JustNumbers"/> 
<textarea placeholder="" data-constraints="@Required @Length(min=20,max=999999)"></textarea> 

und ersetzen sie durch folgenden Code, verpassten Sie name Attribut hinzufügen, name Attribut Formulardaten verweisen, nachdem Sie das Formular ab.

<input type="text" name="name" placeholder="" data-constraints="@Required @JustLetters" /> 
<input type="text" name="email" placeholder="" data-constraints="@Required @Email" /> 
<input type="text" name="phone" placeholder="" data-constraints="@JustNumbers"/> 
<textarea name="message" placeholder="" data-constraints="@Required @Length(min=20,max=999999)"></textarea> 
+0

Ich habe das hinzugefügt, aber es funktioniert immer noch nicht – benikens

Verwandte Themen