将表单数据打印到数组中作为“值”

时间:2014-05-29 21:12:21

标签: php arrays forms input

学习我的第一个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; ?>

谢谢!

1 个答案:

答案 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}}