在请求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>
答案 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'];
}
}