繁体   English   中英

在从mysqli加载的PHP中存储会话变量

[英]Storing session variables in PHP loaded from mysqli

我正在尝试将会话变量存储在登录表单上,以便在以后的页面中引用它们。 $ row [level]的回显成功,但是没有SESSION变量。

session_start();
   if (isset($_POST['username']) and isset($_POST['password'])){
    $username = $_POST['username'];
    $password = $_POST['password'];
    $query = "SELECT firstname, level, username FROM `roster` WHERE username ='$username' and password ='$password'";
    $result = mysqli_query($link, $query) or die(mysqli_error($link));
    if ($result->num_rows > 0) {
     //while($row = $result->fetch_assoc()) {
     //echo $row[level];
     //header('location:begin.php');}
    while ($row = $result->fetch()) {
        $_SESSION['level'] = $row[level];
        $_SESSION['firstname'] = $row[firstname];}
}}

我也尝试过这种方法,它可以成功地将用户名存储为会话变量,而不是级别变量。

session_start();
   if (isset($_POST['username']) and isset($_POST['password'])){
    $username = $_POST['username'];
    $password = $_POST['password'];
    $query = "SELECT firstname, level, username FROM `roster` WHERE username ='$username' and password ='$password'";
    $result = mysqli_query($link, $query) or die(mysqli_error($link));
    $count = mysqli_num_rows($result);
    if ($count == 1){
        $_SESSION['username'] = $username;
        }else{$fmsg = "Invalid Login Credentials.";
    }
}if (isset($_SESSION['username'])){
$username = $_SESSION['username'];
$level = $_SESSION['level'];
header ('location: begin.php');

谢谢你的帮助!

在这里使用引号

    $_SESSION['level'] = $row["level"];
    $_SESSION['firstname'] = $row["firstname"];

确保循环并覆盖变量值,否则使用数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM