将变量作为参数添加到 PHP 中的函数
Adding variable as a parameter to a function in PHP
我有一个非常简单的代码来验证用户名和密码,因为我必须指定一个变量作为一个参数 函数,为什么要指定?因为 functions 的规则是它可以访问其他 function 之外的任何 variable 而且我什至 常量,不需要指定为参数。但是我的代码在没有指定 parameters 的情况下无法工作,并且 constants 在没有被指定为 parameter 的情况下工作。
//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';
}
}
函数有自己的变量作用域,不能访问它之外的变量,除非这些变量是常量或全局变量,如 $_POST、$_GET 等
如果你想改变你的函数不使用参数,你可以这样做:
function login_check () {
return USERNAME==$_POST['username'] && PASSWORD==$_POST['password'] ;
}
您可以在 PHP documentation
中阅读更多内容
我有一个非常简单的代码来验证用户名和密码,因为我必须指定一个变量作为一个参数 函数,为什么要指定?因为 functions 的规则是它可以访问其他 function 之外的任何 variable 而且我什至 常量,不需要指定为参数。但是我的代码在没有指定 parameters 的情况下无法工作,并且 constants 在没有被指定为 parameter 的情况下工作。
//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';
}
}
函数有自己的变量作用域,不能访问它之外的变量,除非这些变量是常量或全局变量,如 $_POST、$_GET 等
如果你想改变你的函数不使用参数,你可以这样做:
function login_check () {
return USERNAME==$_POST['username'] && PASSWORD==$_POST['password'] ;
}
您可以在 PHP documentation
中阅读更多内容