学习我的第一个php搜索表单,请温柔!
我希望用搜索表单上输入的数字填充“值”。我尝试过的所有内容都会打破页面或者没有效果。
我正在尝试将$ input_price输入到我的参数的值部分。
这是我的搜索表单
<form method="post" action="http://mysite/searchresults">
<fieldset>
<!-- TEXT INPUT SELECTION -->
<input type="text" value="<?php the_search_query(); ?>" name="s" id="s" />
<!-- END TEXT INPUT SELECTION -->
<input type="text" name="input_price"/>
<input type="submit" id="searchsubmit" value="Search" />
</fieldset>
</form>
这是接收页面
<?php
$args['meta_query'][] = array(
'key' => 'price',
'value' => '($input_price)',
'type' => 'numeric',
'compare' => '<=',
'order' => 'DSC'
);
$the_query = new WP_Query( $args );
?>
<?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<h1><?php the_title() ;?></h1>
<?php the_excerpt(); ?>
<?php endwhile; else: ?>
<p>Sorry, there are no posts to display</p>
<?php endif; ?>
谢谢!
答案 0 :(得分:1)
首先,您的数据通过POST HTTP method发送到接收脚本,因此您可以使用name
$input_price = $_POST['input_price'];
PHP's $_POST
superglobal来访问这些变量}属性为键:
$input_price
接下来,此处不应使用'value' => '($input_price)',
周围的括号。最后,单引号不解析它们内部的变量,如下例所示:
'value' => "$input_price",
'value' => $input_price,
但双引号会,或者根本就不使用引号:
{{1}}