用于登录的会话变量

时间:2011-05-15 09:38:58

标签: php session login

我有一个登录页面,用户使用用户名和密码登录,然后我想显示我的用户是否登录,他的名字,所以我有一个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;
}

?>

2 个答案:

答案 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()开头;声明