PHP 中用于登录和 SQL 查询的全局变量


Global Variable in PHP for Login and SQL Query

从PHP表单登录后,将设置一个包含admin_id值的cookie。

我的PHP应用程序从cookie中检索它,并将cookie的值存储在变量中,比如说$admin_id=$_COOKIE[admin_id]

我将在PHP SQL查询中使用它,例如select * from $table where admin_id='$admin_id' and id = '$id'

我有一个在所有文件之前调用的通用head.php文件。

一旦值存储在变量$admin_id它应该在整个PHP应用程序中全局访问,在不同的函数和文件中的各种查询。我该怎么做?

你的逻辑有问题:

Cookie 可以通过浏览器设置,因此用户设置 admin_id=1 可以管理员身份访问您的网站。

您可能希望将其保存在会话中,因此$_SESSION['admin_id'] = $adminId;

然后,您可以在所需的位置使用$_SESSION['admin_id']

您需要在任何输出之前设置session_start()

你必须

将其定义为global,然后,如果你从另一个函数调用它,请再次使用global

global $myVariable = "myValue";
function myCoolFunction() {
    global $myVariable;
    echo $myVariable; // will echo "myValue"
}

顺便说一下,您还可以使用:

"select * from $table where admin_id='{$_COOKIE["admin_id"]}' and  id = '$id'"

括号内的引号不会破坏第一个引号