将变量作为参数添加到PHP中的函数

时间:2015-04-28 13:11:04

标签: php function parameters scope

我有一个非常简单的代码来验证用户名和密码,因为我必须将变量指定为参数函数 ,我为什么要指定?因为函数的规则是它可以访问其他函数之外的任何变量,我甚至需要常量不要指定为参数。但是如果没有指定参数并且常量没有被指定为参数,我的代码就无法工作。

//constants
    define('USERNAME','guruprasath');
    define('PASSWORD','123456');
//functions
    function login_check ($username,$password) {
        return USERNAME==$username && PASSWORD==$password ;
    }
if ($_SERVER['REQUEST_METHOD']=='POST') {
    $username = $_POST['name'];
    $password = $_POST['password'];

        if( login_check($username,$password) ) {  //why specify the $username and $password parameter,but not specify for the constants
            $_SESSION['username']=$username;
            header('Location:admin.php');
        }
        else {
            echo 'your password or email  is wrong';
        }
}

1 个答案:

答案 0 :(得分:1)

除了这些变量是常量或全局变量(如$ _POST,$ _GET等)之外,函数有自己的变量范围和不能访问它的变量。

如果你想改变你的功能而不是使用参数,你可以这样做:

function login_check () {
    return USERNAME==$_POST['username'] && PASSWORD==$_POST['password'] ;
}

您可以在PHP documentation

中阅读更多内容