page shows 404 on form submit

时间:2013-08-24 作者:localhost

我创建了一个模板页面,其中有一个表单,在测试时出现了404错误。我应该采取其他行动吗?

`<form action="results.php" method="post">
    <!--my code-->
</form>`

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

我在做其他事情?

对文件的完整路径。如果您的网站http://mysite.com 您在主页上,然后您在以下位置请求文件:http://mysite.com/result.php. 如果您使用的是日期存档,您将在以下位置请求文件:http://mysite.com/2013/03/03/result.php. 您想要的文件实际上位于http://mysite.com/wp-content/themes/theme-name/result.php. 看到问题了吗?

Relative URLs do not work well in a WordPress context.

但我想说的是,即使要构建模板文件的完整URL,您仍然做错了。如果加载这样的文件,则不会加载任何WordPress核心,并且会出现未定义的函数错误。

在我看来,正确的方法是。。。

将请求发送到包含表单的同一模板文件。

<form action="<?php the_permalink(); ?>" method="post"> 
该特定代码仅在某些情况下有效,因此您可能需要使用site_url(), 例如通常可以省略action属性(正如Milo所提示的那样)。

您还可以将函数挂接到template_redirectwp_head然后在那个钩子上处理表单如果表单出现在多个页面上,则需要选项2或3中的一个。否则,请使用第一个选项。

如果需要表单显示在一个页面上,结果显示在另一个页面上,则需要为每个组件提供自定义页面模板,并且需要create a page for the form and another for the results via the "Pages" section of the WordPress backend.

结束

相关推荐

如何在Contact Form 7-Forms中使用其他快捷码?

我注意到任何不是联系人表单7内置短代码一部分的短代码都不起作用。例如:我试图在contact form 7中的表单元素之间使用手风琴快捷码。但是代码不起作用。如何在不编辑联系人表单7核心文件的情况下解决此问题?