2012-07-04 60 views
0

我正在使用以下来让联系页面向我发送包含访问者数据的电子邮件。联系表格不发送数据

  <form method="post" action="submit.php"> 
      <label for="Name">Name</label> 
      <input type="text" name="Name" id="Name" /> 

      <label for="Email">eMail</label> 
      <input type="text" name="Email" id="Email" /> 



      <input type="submit" name="submit" value="Send" class="submit-button" /> 
      </form> 

和PHP:

<?php 

    $EmailFrom = "Me"; 
    $EmailTo = "[email protected]"; 
    $Subject = "Test"; 
    $Name = Trim(stripslashes($_POST['Name'])); 
    $Email = Trim(stripslashes($_POST['Email'])); 

    // validation 
    $validationOK=true; 
    if (!$validationOK) { 
     print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
     exit; 
    } 

    // prepare email body text 
    $Body = ""; 
    $Body .= "Name: "; 
    $Body .= $Name; 
    $Body .= "\n"; 
    $Body .= "eMail: "; 
    $Body .= $Email; 
    $Body .= "\n"; 

    // send email 
    $success = mail($EmailTo, $Subject, $Body, "From: $EmailFrom"); 

    // redirect to success page 
    if ($success){ 
     print "<meta http-equiv=\"refresh\" content=\"0;URL=ok.html\">"; 
    } 
    else{ 
     print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
    } 
    ?> 

当试图出来我只得到由PHP文件,但由游客插入的信息没有准备的电子邮件正文中,这样的:

名称: 电子邮件:

+0

你确定你有安装在机器上的邮件服务器? –

+0

我已经上传到客户端服务器但没有结果。 – no0ne

+0

尝试修剪而不是修剪(最佳实践)。 http://stackoverflow.com/questions/5643496/are-php-functions-case-sensitive – Waygood

回答

0

尝试设置头信息,电子邮件:

$header = 'MIME-Version: 1.0'."\r\n"; 
$header .= 'Content-type: text/plain; charset=iso-8859-1'."\r\n"; 
$header .= 'From: '.$EmailFrom."\r\n"; 

$success = mail($EmailTo, $Subject, $Body, $header); 
0

最后我只是简化了一下..它似乎是一个“区分大小写”的问题,它停止了与php文件进行通信的窗体。

所以这到底是什么工作:

  <form method="post" action="submit.php"> 
      <label for="Name">Name</label> 
      <input type="text" name="Name" id="name" /> 

      <label for="Email">eMail</label> 
      <input type="text" name="Email" id="email" /> 

      <label for="Message">Message</label> 
      <textarea name="Message" rows="10" id="message"></textarea> 

      <input type="submit" name="submit" value="Send" class="submit" id="submit"/> 
      </form> 

和PHP:

 <?php 


    $EmailFrom = "Test"; 
    $EmailTo = "[email protected]"; 
    $Subject = "Testing"; 
    $Name = Trim(stripslashes($_POST['Name'])); 
    $Email = Trim(stripslashes($_POST['Email'])); 
    $Message = Trim(stripslashes($_POST['Message'])); 

    // validation 
    $validationOK=true; 
    if (!$validationOK) { 
     print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
     exit; 
    } 

    // prepare email body text 
    $Body = ""; 
    $Body .= "Name: "; 
    $Body .= $Name; 
    $Body .= "\n"; 
    $Body .= "eMail: "; 
    $Body .= $Email; 
    $Body .= "\n"; 
    $Body .= "Message: "; 
    $Body .= $Message; 
    $Body .= "\n"; 

    // send email 
    $success = mail($EmailTo, $Subject, $Body, "From: $EmailFrom"); 

    // redirect to success page 
    if ($success){ 
     print "<meta http-equiv=\"refresh\" content=\"0;URL=ok.htm\">"; 
    } 
    else{ 
     print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
    } 
    ?>