联系表格php邮件代码不起作用

时间:2013-12-05 01:55:43

标签: php html css

这是我的网站:http://www.iamshahil.com,我的索引页面中有一个联系表单,我希望将联系表单中提交的数据发送到我的电子邮箱。我有一个代码,但不起作用,我的提交按钮无法点击。

这是我的表格:

<form method="post" action="mail.php">
    <table>
        <tr>
            <td class="feedbacktext">Name</td>
        </tr>
        <tr>
            <td> <input type="text" id="name" placeholder="You"></td>
        </tr>
        <tr>
            <td></td>
        </tr>
        <tr>
            <td></td>
        </tr>
        <tr style="margin-top:20px;">
            <td class="feedbacktext">Email</td>
        </tr>
        <tr>
            <td><input type="text" id="email" placeholder="you@email.com"></td>
        </tr>
        <tr>
            <td></td>
        </tr>
        <tr>
            <td></td>
        </tr>
        <tr>
            <td class="feedbacktext">Website</td>
        </tr>
        <tr>
            <td><input type="text" id="website" placeholder="http://www.yourwebsite.com"></td>
        </tr>
        <tr>
            <td></td>
        </tr>
        <tr>
            <td></td>
        </tr>
        <tr>
            <td class="feedbacktext">Whats up?</td>
        </tr>
        <tr>
            <td><textarea  id="message" placeholder="whats up?" rows="4" cols="30"></textarea></td>
        </tr>
        <tr>
            <td></td>
        </tr>
        <tr>
            <td><input id ="send" class="button" type="button" value="Send" style="float: right;"></td>
        </tr>
</form>
</table>

这是我的PHP代码:

    <?php 
if(isset($_POST['submit']))
    $name=$_REQUEST['name']; 
    $email=$_REQUEST['email']; 
  $website=$_REQUEST['website']; 
    $message=$_REQUEST['message']; 
    if (($name=="")||($email=="")||($message=="")) 
        { 
        echo "All fields are required, please fill <a href=\"\">the form</a> again."; 
        } 
    else{         
        $from="From: $name<$email>\r\nReturn-path: $email"; 
        $subject="Message sent using your contact form"; 
        mail("me@gmail.com", $subject, $message, $from); 
        echo "Email sent!"; 
        }    
?> 

2 个答案:

答案 0 :(得分:3)

要开始:将按钮的type更改为submit。您还需要为每个字段提供name属性(name id相同。这些名称应与您在PHP脚本中使用的名称相匹配。

例如:

<input type="text" id="name" placeholder="You">

应该成为

<input type="text" id="name" placeholder="You" name="name">

您应该在PHP脚本中将其引用为$_REQUEST['name']

进行所有更改,看看会发生什么。不要指望你的邮件是第一次发送 - PHP邮件是出了名的繁琐。期待必须稍微调试一下。

答案 1 :(得分:0)

就像Mike W所说的那样,你需要设置要提交的按钮的类型,并为输入字段添加name属性。 name属性是您在php代码中的if语句中使用的属性,用于在提交表单之前检查用户是否填写了输入字段。

我还想指出你应该用 $ _ POST 替换 $ _ REQUEST ,因为你知道你在表单中使用'post'方法。这对于安全性非常重要,也可以避免我认为的垃圾邮件。