PHP联系表格不发送邮件,结果为空白页

问题描述:

试图通过我的网站的联系表单发送邮件导致一个空白页面(没有确认信息),并且没有发送电子邮件。PHP联系表格不发送邮件,结果为空白页

该窗体的HTML是:

<form method="post" action="index.php"> 
    <div class="field half first"> 
     <label for="name">Name</label> 
     <input type="text" name="name" id="name" /> 
    </div> 
    <div class="field half"> 
     <label for="email">Email</label> 
     <input type="text" name="email" id="email" /> 
    </div> 
    <div class="field"> 
     <label for="message">Message</label> 
     <textarea name="message" id="message" rows="4"></textarea> 
    </div> 
    <ul class="actions"> 
     <li><input type="submit" value="Send Message" class="special" /></li> 
     <li><input type="reset" value="Reset" /></li> 
    </ul> 
</form> 

index.php文件是:

<?php 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $from = 'From: SiteContactForm'; 
    $to = '[email protected]'; 
    $subject = 'Hello'; 

    $body = "From: $name\n E-Mail: $email\n Message:\n $message"; 

if (isset($_POST['submit'])) { 
    if (mail ($to, $subject, $body, $from)) { 
     echo '<p>Your email has been sent.</p>'; 
    } else { 
     echo '<p>Something broke.</p>'; 
    } 
} 
?> 

,这儿任何错误,将是造成东西断了? 'to'电子邮件是我真实的电子邮件,只是在这里进行了编辑。

+3

送你不必与属性的元素'name =“submit”',所以它永远不会触发 – Qirel

+1

'

  • '为'
  • ' – clearshot66

    试试这个方法,你需要命名提交

    <form method="post" action="index.php"> 
        <div class="field half first"> 
         <label for="name">Name</label> 
         <input type="text" name="name" id="name" /> 
        </div> 
        <div class="field half"> 
         <label for="email">Email</label> 
         <input type="text" name="email" id="email" /> 
        </div> 
        <div class="field"> 
         <label for="message">Message</label> 
         <textarea name="message" id="message" rows="4"></textarea> 
        </div> 
        <ul class="actions"> 
         <li><input type="submit" name="submit" value="Send Message" class="special" /></li> 
         <li><input type="reset" value="Reset" /></li> 
        </ul> 
    </form> 
    

    否则if (isset($_POST['submit']))不会做任何事情,因为它寻找“提交”设置/通过

    +0

    谢谢你和Qirel,挺我的一个疏忽。现在工作正常,谢谢! – Edge