联系表格不;t工作-发送到contact.php“;页面”;


Contact form doesn't work - sending to contact.php "page"

我正在学习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与联系人页面的URL相同,但没有发送电子邮件,页面会抛出404。

有人知道为什么会发生这种事吗?

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

"name"参数保留用于其他wordpress用途。如果您将其重命名为"username"(例如),您的脚本可能会工作。

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

否则,Wordpress会认为你正在寻找一个名为"姓名"的帖子/页面。。(因此404)

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