PHP中的类能不能对接收过来的参数进行判断

陈88
  • 294
classInput.php
<?php
header("Content-Type:text/html; charset=UTF-8");
class Input{
    function post($key){
                $val=$_POST[$key];
                return $val;
    }
}
?>
save.php
<?php
header("Content-Type:text/html; charset=UTF-8");
include 'classInput.php';
$input=new Input();
$userName=$input->post('userName');
$msg=$input->post('msg');

然后我直接访问save.php,报notice的错误,请问能否在classInput.php对传过来的参数进行判断啊

回复
阅读 2.7k
4 个回答
w57132855
  • 127
header("Content-Type:text/html; charset=UTF-8");
class Input{
    function post($key){
                if( isset($_POST[$key]))
                    $val=$_POST[$key];
                else
                    $val=null;
                return $val;
    }
}
<?php
header("Content-Type:text/html; charset=UTF-8");
class Input{
    function post($key){
        if(isset($_POST[$key])){
                $val=$_POST[$key];
                return $val;
        }
    }
}
?>

首先要判断是否为post请求,如果为post请求,再判断值存在的情况。
clipboard.png

jiny
  • 848

把你的类作了下修改

<?php
class Input{
    var $_Get='';
    var $_Post='';
    function __construct($data){
        print_r($data);
        $this->_Get  = $data['get'];
        $this->_Post = $data['post'];
    }
    function post($key){
        $data = $this->_Get;
        $val  = $data[$key];
        return $val;
    }
}
//然后调用的时候
include 'classInput.php';
$input=new Input(['get'=>$_GET]);
$userName=$input->post('userName');
echo $userName;
//这样就好了把 
宣传栏