联系表格不起作用 - 发送到contact.php" page"

时间:2015-02-24 13:23:46

标签: php html forms

我正在学习PHP,并且正在尝试将联系表单添加到我正在处理的网站中。我已经困惑了一段时间,但我的联系表格不起作用!我根本无法理解这是什么问题。

    <?php
$action=$_REQUEST['phpaction'];
if ($action=="")    /* display the contact form */
    {
    ?>
    <form  action="#" method="POST" enctype="multipart/form-data">
    <input type="hidden" name="phpaction" value="submit">
    Your name:<br>
    <input name="name" type="text" value="" size="30"/><br>
    Your email:<br>
    <input name="email" type="text" value="" size="30"/><br>
    Your message:<br>
    <textarea name="message" rows="7" cols="30"></textarea><br>
    <input type="submit" value="Send email"/>
    </form>
    <?php
    } 
else                /* send the submitted data */
    {
    $name=$_POST['name'];
    $email=$_POST['email'];
    $message=$_POST['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("sean@southernvoiceanddata.co.uk", $subject, $message, $from);
        echo "Email sent!";
        }
    }  
?> 

问题是,每当我尝试点击“提交”时,它就会转发到同一页面(www.website.com/contact)。该URL与联系人页面的网址相同,但不会发送任何电子邮件,该网页会抛出404.

有谁知道为什么会这样?

编辑:啊,忘了提,我在这个网站上使用Wordpress!我一直在努力解决这些问题,所以我不怀疑它们可能会导致表单出现问题。我不确定。

2 个答案:

答案 0 :(得分:1)

&#34;名称&#34;参数由其他wordpress目的保留/使用。如果您将其重命名为&#34; username&#34; (例如)你的脚本可能会工作。

因此,使用<input name="name" ..>代替<input name="username" ..>,并使用$_POST['username']获取变量。

否则,Wordpress会认为您正在寻找一个帖子/页面,无论用户输入什么名称&#34;名称&#34; field ..(因此404)

答案 1 :(得分:0)

某些托管服务提供商不支持mail()。确保你的支持。