PHP联系表格不起作用?

时间:2013-05-29 00:29:48

标签: php html

首先,我想首先说这是我第一次在阅读之外使用PHP。

我只是想创建一个简单的联系表单,收集信息并向我发送包含信息的电子邮件。目前我的联系页面已关闭,任何帮助都可以很好地恢复。

这是我的代码:

<?php

if(isset($_POST['Submit'])) {
if(!empty($_POST['CompanyName'])){
    if(!empty($_POST['Email']){
        $CompanyName = $_POST['CompanyName'];
        $PhoneNumber = $_POST['PhoneNumber'];
        $Email = $_POST['Email'];
        $IndustryType = $_POST['IndustryType'];
        $Website = $_POST['Website'];
        $Other = $_POST['Other'];
        $Comments =$_POST['comments'];
        $formcontent ="From: $CompanyName \n Message: \n Point of Contact: $NameInput \n Email: $Email \n Industry: $IndustryType $Other \n Website: $Website \n  Comments: $Comments";
        $recipient = "keeano@doodleinc.co"; 
        $subject = "Website Contact\ $IndustryType";
        $mailHeader = "From $Email \r\n";
        echo '<p class="collapse">Thank you for contacting <font color="#709900">Doodle Inc.</font>, someone will contact you within 48 hours.</p>';
        mail($Email, $subject, $formcontent);

    }
    else {
        echo 'Please Check required fields with an <font color="#FF0000">*      </font>.\n If you are exsperiancing any technical issues or have not heard back from us   please contact us at <a href="">Techsupport@doodleinc.co</a>';
    }
}
}?>

    <div class="article">
      <h2><span>send us an</span> email ...</h2><div class="clr"></div>
    <form name="contact_form" method="post" action="mail.php" onSubmit="return    evalid()">
<table border="0">
<tbody class="Form">
<tr>
<td>
<label for="NameInput">Your Name:<font color="#FF0000">*</font></label>
<input id="NameInput" name="NameInput"/>
 </td>
 </tr>
 <tr>
 <td>
 <label for="CompanyName">Your Company:<font color="#FF0000">*</font></label>
 <input id="CompanyName" name="CompanyName"/>
 </td>
 </tr>
 <tr>
<td>
<label id="PhoneNumber" name="PhoneNumber">Phone: </label>
 <input id="PhoneNumber" name="PhoneNumber"/>
 </td>
 </tr>
 <tr>
 <td>
 <label id="Email" name="Email">Email:<font color="#FF0000">*</font></label>
 <input id="Email" name="Email" type="email"/>
 </td>
 </tr>
 <tr>
 <td>
 <label for="Website">Website: </label>
 <input id="Website" name="Website"/>
 </td>
 </tr>
 <tr>
 <td>
 <label for="IndustryType" name="IndustryType">Industrey: </label>
 <Select>
  .....
  <option>Other</option>
  </select>
  </td>
  <?php
   if($IndustryType == "Other")
    echo '<div id="Other">
  <td>
 <label for="=Other" class="collapse">Other: </label><input id="Other" name="Other"       class="collapse"/>
  </div>
  <br/>
 <br/>
 </td>
   ?>
 </tr>
  <br/>
<br/>
 <br/>
 <br/>
 <tr>
 <th><p><b>What interests you, broadly speaking?</b></p></th>
 </tr>
 <tr><td>
 <input type="checkbox">Web Design/Development</input>
 </td></tr>
 <tr><td>
 <input type="checkbox">Social Media</input>
 </td></tr>
 <tr><td>
 <input type="checkbox">Mobile Presence</input>
 </td></tr>
 <tr><td>
 <input type="checkbox">Online Advertising</input>
 </td></tr>
 <tr><td>
 <input type="checkbox">Search Engine Optamization</input>
 </td></tr>
 <tr><td>
 <input type="checkbox">eCommerce</input>
 </td></td>
 <tr>
 <th><div class="spacer"></div></th>
 </tr>
 <tr><td>
 <label for="comments"><b>Your Ideas to Life? (How can we help you?)</b></label><br/>
 <textarea id="comments" name="comments" style="margin: 2px; height: 137px; width:  437px;"></textarea></td></tr><br/>
 <tr>
 <td><input type="button" name="Submit" value="Submit" align="middle" /></td>
 </tr>
 </tbody>
 </table>
 </form>

我已经尝试将电子邮件功能放在一个名为mail.php的单独文件中但是没有用,所以我将其内联到HTML中,并且页面在加载时失败。

我也不知道如何让XAMPP在本地工作。

我知道它的东西甚至可能很小,但我希望弄清楚它是什么,并在此过程中学习。 您更喜欢帮助我的任何文档或网站都会很棒。

任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:1)

使用库phpmailer发送电子邮件。你可以找到一些关于如何使用它的教程

答案 1 :(得分:1)

您需要在php.ini文件中设置SMTP。如果您不知道将SMTP设置为什么,请在Google上搜索您的电子邮件运营商的SMTP。同时设置端口。

您的SMTP和端口应根据您的电子邮件运营商进行设置。因此,如果您使用Gmail,请设置如下设置:

SMTP = smtp.gmail.com
smtp_port = 25

您的表单的操作属性设置为action="mail.php。确保您的代码在该文件中。最后,重启apache。如果您仍然收到错误,请尝试:

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= 'From: ' . $youremail. "\r\n";
mail($Email, $subject, $formcontent);

注意$youremail变量是您使用的电子邮件地址以及您为其设置SMTP设置的电子邮件地址。

最后的步骤:转到here并下载sendmail包并将其解压缩到xampp根目录中。编辑以下行:

smtp_server=smtp.gmail.com
smtp_port=25
error_logfile=error.log
debug_logfile=debug.log
auth_username=yourname@gmail.com
auth_password=gmailpassword
force_sender=yourname@gmail.com

接下来再次打开xampp php.ini文件并编辑显示sendmail_path的行。确保没有注释。

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

重启apache。

答案 2 :(得分:0)

您的代码返回此错误:

Parse error: syntax error, unexpected '{' in /var/www/crm.demotores.6.5.11/site/test.php on line 5

您应该更改php.ini - display_errors = On以查看您的脚本发生了什么。

这一行错过了“)”。修好后,你有:

Parse error: syntax error, unexpected ''<div id="Other">' (T_ENCAPSED_AND_WHITESPACE) in /var/www/crm.demotores.6.5.11/site/test.php on line 72