我有一个登录页面,用户使用用户名和密码登录,然后我想显示我的用户是否登录,他的名字,所以我有一个login()函数来确定他们是否可以登录,如果它返回true,然后它设置一个会话变量,然后调用函数get_logged_on_person(),它首先是我的数据库中的用户名和姓,但后来我不知道该怎么做。任何帮助表示赞赏;我的login_action.php如下:
# Get form data
$username = $_POST['username'];
$password = $_POST['password'];
if (login($username, $password) == true) {
session_start();
$sessionid = session_id();
$insession = true;
$logonas = get_logged_on_person($username);
$firstname = $logonas.firstname;
$lastname = $logonas.lastname;
$_SESSION['firstname'] = $firstname;
$_SESSION['lastname'] = $lastname;
????
}else{
$error = "Incorrect login.";
header("Location: login.php?error=$error");
exit;
}
?>
答案 0 :(得分:1)
在每个页面的顶部,以(在任何输出之前)开始:
<?php
session_start();
如果要显示用户信息,请使用:
<?php
if (isset($_SESSION['firstname']))
echo "Currently logged in as: {$_SESSION['firstname']}";
else
echo "Not logged in";
?>
当然,如果您已经在<?php ... ?>
标签内,则省略它们。
除了设置...
之外,您无需执行任何操作。但是,您应该在此处更改代码:
$firstname = $logonas.firstname;
$lastname = $logonas.lastname;
$_SESSION['firstname'] = $firstname;
$_SESSION['lastname'] = $lastname;
????
替换为:
$_SESSION['firstname'] = $logonas['firstname'];
$_SESSION['lastname'] = $logonas['lastname'];
答案 1 :(得分:0)
在您设法创建会话变量$ _SESSION ['firstname']之后,您可以从任何页面调用它。一件事 - 每个页面必须以session_start()开头;声明