如何通过$ _SESSION获取用户名?

时间:2017-04-25 11:06:53

标签: php

echo $_SESSION['username'];

我正在尝试查看当前登录的用户名,但它没有显示任何内容。

3 个答案:

答案 0 :(得分:1)

在将任何信息存储在会话变量中之前,必须先启动会话。要开始新会话,只需调用session_start()函数即可。它将创建一个新会话并为用户生成唯一的会话ID。 以下示例中的PHP代码只是启动一个新会话。

<?php
// Starting session
session_start();
?>

session_start()函数首先检查现有的会话ID。如果找到一个,即如果会话已经启动,则会设置会话变量,如果没有,则通过创建新会话ID启动新会话。

存储和访问会话数据

您可以将所有会话数据存储为$ _SESSION []超全局数组中的键值对。可以在会话的生命周期内访问存储的数据。请考虑以下脚本,该脚本创建一个新会话并注册两个会话变量。

<?php
// Starting session
session_start();

// Storing session data
$_SESSION["firstname"] = "Peter";
$_SESSION["lastname"] = "Parker";
?>

要访问我们在前一个示例中从同一个Web域上的任何其他页面设置的会话数据 - 只需通过调用session_start()重新创建会话,然后将相应的密钥传递给$ _SESSION关联数组。

<?php
// Starting session
session_start();

// Accessing session data
echo 'Hi, ' . $_SESSION["firstname"] . ' ' . $_SESSION["lastname"];
?>

上例中的PHP代码产生以下输出。

  

嗨,彼得帕克

答案 1 :(得分:0)

首先启动会话并将用户名存储在会话中,然后获取它,例如:

seesion_start();
$_SESSION['user_name'] = 'xyz'; //save username in session
//to get the user name after saving
$userName = $_SESSION['user_name'];

答案 2 :(得分:-1)

首先,您需要启动会话。在放入任何HTML之前:

<?php
session_start(); //With this PHP function you start a session
?>

然后,例如制作一个HTML表格:

<html>
<head>
<title>Test</title>
</head>
<body>
<form action="" method="post">
    <input type="text" placeholder="Username" name="username">
    <input type="password" placeholder="Password" name="password">
    <input type="submit" name="submit">
</form>
</body>
</html>

之后设置会话变量:

<?php
if (isset($_POST["submit"]))
{
    $_SESSION["username"] = $_POST["username"]; //Save the data from the 
    $_SESSION["password"] = $_POST["password"]; //form to the $_SESSION variables
}
?>

最后代码看起来像:

<?php
session_start(); //Session started
?>
<html>
<head>
<title>Test</title>
</head>
<body>
<form action="" method="post">
    <input type="text" placeholder="Username" name="username">
    <input type="password" placeholder="Password" name="password">
    <input type="submit" name="submit">
</form>
<?php
if (isset($_POST["submit"]))
{
    $_SESSION["username"] = $_POST["username"]; //Set username
    $_SESSION["password"] = $_POST["password"]; //Set password
}
echo $_SESSION["username"]; //Output the session username
?>
</body>
</html>

我希望我能帮助你减少或减少。 :)