变量范围在2 if语句中工作

时间:2013-03-01 08:32:49

标签: php

在请求anotherpost print $post之后的第二个if函数中看不到任何内容,我阅读了手册并尝试了 1. getpost()中的global $post = $_REQUEST['post'];
2.将return $post中的参数if传递给getpost($post) 两者都不起作用,但它是可变范围问题吗?

感谢。

//index.php
require 'test.php';
$test = new test();
$test->getpost();


//test.php
class test{
public function getform(){
    ....
    require 'form.php';
}

public function getpost(){
    $post = $_REQUEST['post'];
    if($_REQUEST['post']){
        print $post;
        require `form_anotherpost.php`;
    }
    if($_REQUEST['anotherpost']){
        print $post;
    }
}

//form.php
<form>
    <input type="submit" name="post" value="post">
</form>
//form_anotherpost.php
<form>
     <input type="submit" name="anotherpost" value="anotherpost">
</form>

2 个答案:

答案 0 :(得分:0)

尝试将代码更改为:

public function getpost(){
    $post = $_REQUEST['post'];
    if($_REQUEST['post']){
        print $post;
    }
    if(1 == 1){
        print $post;
    }
}

这将允许您通过知道语句将返回true来查看您的变量是否存在于第二个if语句中。

答案 1 :(得分:0)

如果我了解您的要求,那么您应首先使用if isset,然后使用elseif。您处理完数据后,就可以打印出来了。

试试这个:

public function getpost($_REQUEST) {
    if (isset($_REQUEST['post'])) {
        print $_REQUEST['post'];
    }
    elseif (isset($_REQUEST['anotherpost'])) {
        print $_REQUEST['anotherpost'];
    }
}