提交按钮返回到索引页,而不是发送数据

时间:2013-07-18 作者:clestcruz

以下是网站的链接-http://zigzagadvertising.com.ph/aleemguiapal/97-2/

我在wordpress中的表单有问题。每当我点击提交按钮时,它就会返回到索引页,而不是将数据发送到电子邮件地址

This is my PHP code which i placed on top of the Header.php. This code is placed before the tag

<?php 
$error=false;
$sent=false;
if(isset($_POST[\'submit\'])) {
if(empty($_POST[\'firstname\']) || empty($_POST[\'email\']) || empty($_POST[\'message\'])) {
$error = true;
} else {

 $to = "[email protected]";

 $name = trim($_POST[\'firstname\']);
 $email = trim($_POST[\'email\']);
 $comments = trim($_POST[\'message\']);

 $subject = "Contact Form";

 $messages = "Name: $firstname \\r\\n Email: $email \\r\\n Comments: $message";
 $headers = "From:" . $name;
 $mailsent = mail($to, $subject, $messages, $headers);

 if($mailsent){
     $sent= true;
}
}
}
?>

And this is my custom page(Contact Page)

<!--CONTACT-->
<div  class="container">
<div  class="eleven columns contact">
     <div id="contact-container" class="eleven columns alpha omega contact">
         <h2>contact us</h2>
         <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras non lacus vel nulla molestie cursus quis a urna. Donec sodales venenatis consequat. Sed tristique elit nec diam rhoncus adipiscing</p>
     </div>

     <div id="note-container" class="eleven columns alpha omega note">
         <p>All fields marked with an asterisk(<span class="asterisk">*</span>) are required</p>
     </div>

     <div class="contactform">
     <form id="register-form" action="<?php echo $_SERVER[\'PHP_SELF\']; ?>" method="post">


     <?php if($error == true) { ?>
     <p class="error"> There are some misisng fields.</p>
     <?php } if($sent == true) { ?>
     <p class="sent">Thank you for sending your message</p><?php } ?>


         <div class="four columns alpha contact-form">

         <label>prefix</label>
         <input type="text"  />
         <label><span class="asterisk">*</span>first name</label>
         <input type="text" name="firstname"/>
         <label><span class="asterisk"></span>middle name</label>
         <input type="text" name="middlename"/>
         <label><span class="asterisk"></span>last name</label>
         <input type="text" name="lastname"/>
         <label><span class="asterisk">*</span>email address</label>
         <input type="text" name="email"/>

        </div>

        <div class="four columns contact-form">

         <label>phone</label>
         <input type="text" />
         <label>street</label>
         <input type="text" />
         <label><span class="asterisk"></span>zip</label>
         <input type="text" name="zip" />
         <label><span class="asterisk"></span>city</label>
         <input type="text" name="city" />


        </div>

        <div class="clearfix"></div>

        <div class="eleven columns contact-form alpha omega">

        <label><span class="asterisk"></span>subject</label>
        <input type="text" name="subject"/>
        <label><span class="asterisk">*</span>message</label>
        <textarea name="message"></textarea>


        <input class="contact-button" type="submit" name="submit" value="submit" />
        <input class="contact-button" type="reset" value="reset" />

        </div>

     </form>
     </div>

<div class="four columns">
</div>

</div>



 <?php get_sidebar(); ?>
</div>   


<?php get_footer(); ?>



</body>
</html>
我试着制作一个联系页面,并将其上传到一个免费的托管站点,它似乎工作正常。我甚至在表格中得到了数据或值。不确定我的表单不能正常工作的原因是否是因为wordpress本身。

2 个回复
SO网友:s_ha_dum

var_dump($_SERVER[\'PHP_SELF\']); 在顶部header.php 你会发现问题所在。总是指向index.php 因为几乎所有东西都能通过index.php.

使用get_permalink 获取“明显的”URL并使用该URL代替$_SERVER[\'PHP_SELF\'] 在表单action属性中。

SO网友:webdwall

您可以完全删除表单的action属性。Wordpress会自动将表单发布到相同的url中。如果您必须将代码放入主题中,请将其添加到为联系人页面创建的自定义页面模板中,而不是将其添加到标题中。php如果您想发送电子邮件,请使用内置的wordpresswp_mail() function

结束

相关推荐

在WordPress主题中实现html/css菜单

我有一个HTML/CSS模板,有一个水平菜单。我需要将模板转换为WordPress主题。我一直在看菜单。我在标题中使用了wp\\u nav\\u菜单功能。php文件,并完成了相关功能。php文件。菜单现在以项目符号垂直显示。我现在需要实现菜单,但无法找到正确的css类并将其与menu\\u class参数相关联。请协助。谢谢和问候德巴西斯