我正在尝试将日期从一个wordpress模板表单传递给另一个。为简单起见,我创建了两个模板(并将它们与WP页面关联作为标准页面),如下所示:
<?php
/*
Template Name: Form test
*/
get_header();
?>
<form action="/form-result/" method="post">
<input type="text" name="name" size="20" />
<input type="submit" value="Go" />
</form>
<a href="/form-result/">Result page</a>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
和
<?php
/*
Template Name: Form result
*/
get_header();
$name = $_REQUEST['name'];
?>
And the name is <?=$name?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
当我点击文本链接结果页面时,我会转到/form-result/
页面,但是,如果我提交表单,我会看到一个页面找不到错误。验证后,我发现问题来自于尝试将变量从一个页面传递到另一个页面。
进一步说,我发现<a href="/form-result/?name=Elodie">Result page</a>
会收到错误页面,而<a href="/form-result/">Result page</a>
会将我正确地带到下一页。
可能我错过了一些小事。
这里有任何帮助吗?
答案 0 :(得分:5)
问题解决了。就是这样,我用于此测试的变量“name”是一个WP关键字,代表模板名称。在没有模板名称的情况下,它会查找url slugs的开头与变量名称匹配的其他页面。
我更改了变量名称,它可以正常工作。
答案 1 :(得分:1)
<?php
/*
Template Name: Form
*/
?>
<?php get_header(); ?>
<form action="/form-result/" method="post">
<input type="text" name="name" size="20" />
<input type="submit" value="Go" />
</form>
<a href="/form-result/">Result page</a>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
修改结果页面。
<?php
/*
Template Name: Form Result
*/
?>
<?php get_header(); ?>
<?php if(isset($_POST['name'])) {
echo $_POST['name'];
} ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
答案 2 :(得分:0)
尝试将链接添加到表单内的结果页面,如下所示:
<button type="submit" name="submitted" id="submitted" class="submit">Submit</button>
并在结果页面上:
if(isset($_POST['submitted'])) {
$name = $_POST['name'];
}
要传递表单数据,您需要通过提交发布表单。 你可以在外面使用jquery这样做:
$el.click($('#form_name').submit());
-d