Wordpress给我php格式的404错误

时间:2013-08-20 19:09:52

标签: php wordpress forms email

由于Wordpress表单似乎不想在我的论坛上向我的帐户发送密码以获得他们论坛的帮助,我想我会从这里开始。

我为自己的网站创建了一个表单,以便有人可以与我们联系。

但当用户点击“发送”按钮时,它会将他们带到404页面,地址为:

网站地址 - /working/mail.php

我知道Wordpress支持.php文件,我已经正确命名并且不确定我是否遗漏了某些东西

    <div id="FGSform"> 
   <form action="mail.php" method="post" name="contactFGS" id="contactFGS">
<ul>
<li>
    <label for="first-name">First Name</label>
<br>
    <input type="text" id="firstname" name="firstname" required aria-required="true">
</li>
<br>
<li>
    <label for="last-name">Last Name</label><br>
    <input type="text" id="lastname" name="lastname" required aria-required="true">
</li>
<br>
<li>
    <label for="email">Email</label>
<br>
    <input type="email" id="email" name="email" required aria-required="true">
</li>
<br>
<li>
  <label for="contact-reason" id="reason" name="reason">Reason for Contact</label>
      <select required id="reason" name="reason">
      <option value="3">Employment</option>
      <option value="1">Print Services</option>
      <option value="2">Design Services</option>
      <option value="4">Questions</option>
      <option value="5">Other</option>
    </select> 
</li>
<br>
<li>
  <label for="comments">Comments</label>
<br>
    <textarea name="comments" id="comments" cols="40" rows="10" required></textarea>
</li> 
<br>
<li>
    <input type="radio" id="newsletter" name="newsletter">
    <label for="signmeup">Sign me up for newsletter, updates and other information about FGS</label>  
</li>
<br>
<li>
<input type="submit" value="Send">
</li>

这是我的.php文件:

<?php

 /* Email Variables */
 $emailSubject = 'mail!'; 
$webMaster = 'kmurray.1@frgraphicsolutions.com';



/* Data Variables */
$name = $_POST['name'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$email = $_POST['email'];





$body = <<<EOD
<br><hr><br>
Name: $name <br>
Last Name: $lastname <br>
Email: $email <br>
Comments: $comments <br>
EOD;
$headers = "From: $email\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail($webMaster, $emailSubject, $body,
$headers);


/* Results rendered as HTML */
$theResults = <<<EOD
<html>
<head>
<title>sent message</title>
<meta http-equiv="refresh" content="3;URL=http://frgraphicsolutions.com/working/?page_id=8">
<style type="text/css">
<!--
body {
background-color: #444; 
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 20px;
font-style: normal;
line-height: normal;
font-weight: normal;
color: #fec001;
text-decoration: none;
padding-top: 200px;
margin-left: 150px;
width: 800px;
}
-->
</style>
</head>
<div align="center">Thank you!</div>
</div>
</body>
</html>
EOD;
echo "$theResults";
?>

我之前从未创建过表单,但Wordpress插件的设计非常糟糕和/或使表单复杂化,使我无法控制我想要的内容。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

我还不能发表评论,或者我会将其添加为评论,但似乎没有mail.php文件。你能查看文件的完整路径吗?它不在//working/中。

修改以回应您的评论:

你应该按顺序尝试两件事:

  1. 输出表单的结果只是为了检查您是否到达 表单处理文件,一切正在进行中 侧。
  2. 使用基本参数向您自己发送电子邮件,在没有的文件中 链接表格。这样你就会知道你是否能够发送 正确发送电子邮件,您将更接近解决方案。
  3. 让我们知道您的发现。

答案 1 :(得分:0)

将表单标记中的路径更改为/mail.php或mail.php的url

编辑:

包含它不清楚,只需将表单操作更改为mail.php的URL。

答案 2 :(得分:0)

在与OP一起花费时间查找问题后,确定了以下解决方案:

将表单操作设置为此

<form action="/working/wp-content/themes/NEW/mail.php" method="post" name="contactFGS" id="contactFGS">

由于mail.php文件(处理程序)位于主题文件夹中,而不是之前的想法。