-2

在请求后的第二个 if 函数anotherpost print $post看不到任何内容时,我阅读了手册并尝试
1.global $post = $_REQUEST['post'];在 getpost()

2.return $post在第一个中将参数传递ifgetpost($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>
4

2 回答 2

0

尝试将代码更改为:

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

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

于 2013-03-01T08:36:41.300 回答
0

如果我明白你在问什么,那么你应该if isset先使用然后elseif. 处理完数据后,您可以打印它。

尝试这个:

public function getpost($_REQUEST) {
    if (isset($_REQUEST['post'])) {
        print $_REQUEST['post'];
    }
    elseif (isset($_REQUEST['anotherpost'])) {
        print $_REQUEST['anotherpost'];
    }
}
于 2013-03-01T08:41:45.733 回答