5

我正在尝试将日期从一个 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>将我正确带到下一页。

可能我错过了一些小东西。

这里有什么帮助吗?

4

3 回答 3

5

问题解决了。就是这样,我用于此测试的变量“名称”是 WP 关键字,代表模板名称。在没有模板名称的情况下,它会查找 url slugs 开头与变量名称匹配的其他页面。

我更改了变量名,它可以正常工作。

于 2013-03-21T07:21:50.883 回答
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(); ?>
于 2013-03-19T04:30:35.140 回答
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

于 2013-03-16T22:28:42.367 回答