PHP 无法将变量从一个文件传递到包含文件:未定义的变量

PHP can't pass a variable from one file to an include file : Undefined variable

您好,我已经尝试了一些我在 SO 上看到的解决方案,但 none 似乎可以解决我的问题。

我的登录页面 (login.php) 中有一个变量 $C_userUsername,我正在尝试传递到包含文件 (head.php)。这个想法是,在成功登录后,用户名将显示在页面上。

这里是一些代码。

login.php:

 if ($valid) {

             global $C_userUsername;

             $T_userUserName = trim($userUsername);

             $C_userUsername = htmlentities($T_userUserName);


             } else {

               echo "<br>Invalid user name or password<br>";
            }

head.php:

echo "<ul>";
echo "<li id='regLi'><a href='registration.php'>Register</a></li>";
echo "<li id='onLi'><a href='login.php'>Login</a></li>";
echo "<li id='userLi'><a href='#'>$C_userUsername  is logged in</a></li>";

echo "</ul>";

将其保存在 $_SESSION 中。您可以检查是否设置了 session,如果设置了,则回显会话值。

$_SESSION['username'] = $username

用户登录后设置。

echo $_SESSION['username'] 

您想在何处显示用户的用户名。

两种写代码的方式随心所欲。 第一个如下:

$_SESSION['user_name']=$user_name;

要使用全局变量,您必须包含要访问变量的页面。

$user_name="user name";
include('file_name.php'); 

在 file_name.php 文件中,您必须访问像

这样的变量
$user_name=$GLOBALS['user_name'];