首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在`$_SESSION`中正确存储mysql DB中的userlvl以调用它

在`$_SESSION`中正确存储mysql DB中的userlvl以调用它
EN

Stack Overflow用户
提问于 2016-11-07 00:05:15
回答 1查看 17关注 0票数 0

我正在检查mysql数据库中的用户级别,以便在匹配的情况下显示链接。

这是我当前的代码:

代码语言:javascript
复制
<?php

$mysqli = new mysqli('host', 'name', 'psw', 'db');
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
if ($result = $mysqli->query("SELECT user_level FROM users WHERE user_level = 1 ")) {

    $row_cnt = $result->num_rows;

    printf("Result set has %d rows.\n", $row_cnt);
    }
    /* until here everything works fine - the code below seems to be not working */

if ($result == $_SESSION['userlevel']) {

    $link = 'AdminLayout.php';
    printf ('<a href="' .$link. '">Adminpanel </a>');
    /* close result set */
    $result->close();


}

/* close connection */
$mysqli->close();
?>

printf("Result set has %d rows.\n", $row_cnt);只是检查连接是否工作,以及它是否检测到user_level = 1。

我使用以下命令将$_SESSION['userlevel']存储在我的登录表单中:

代码语言:javascript
复制
if(isset($_POST['submitted']))
{ 
session_start();

$mysqli = new mysqli('host', 'name', 'psw', 'db');


 if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
 else ($result = $mysqli->query("SELECT user_level FROM users WHERE user_level = 1 ")) {
 if (mysqli_num_rows($result == 1) {
$ulevel = $mysqli_fetch_array($result);
  $ulevel = $_SESSION['userlevel'];
  }
}
}
?>

不幸的是,添加了这些行之后,我的登录表单就不再有效了。

有没有人能帮我把它修好?如何正确存储已登录帐户的用户级别,以便在另一个站点上重新调用它?

长话短说:我想检查我的MySQL数据库中的用户级别,如果登录的用户与之匹配,就让链接出现。

EN

回答 1

Stack Overflow用户

发布于 2016-11-07 00:23:15

请按如下所示更正您的代码。登录页面:

代码语言:javascript
复制
if(isset($_POST['submitted']))
{ 
session_start();

$mysqli = new mysqli('host', 'name', 'psw', 'db');


 if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
 elseif ($result = $mysqli->query("SELECT user_level FROM users WHERE user_level = 1 ")) {
 if (mysqli_num_rows($result) == 1) {
$_SESSION['userlevel'] = $mysqli_fetch_array($result);
  }
}
}
?>

另一个代码是:

代码语言:javascript
复制
<?php

$mysqli = new mysqli('host', 'name', 'psw', 'db');
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
if ($result = $mysqli->query("SELECT user_level FROM users WHERE user_level = 1 ")) {

    $row_cnt = mysqli_num_rows($result);
    $result = mysqli_fetch_array($result);

    printf("Result set has %d rows.\n", $row_cnt);
    }
    /* until here everything works fine - the code below seems to be not working */

if ($result == $_SESSION['userlevel']) {

    $link = 'AdminLayout.php';
    printf ('<a href="' .$link. '">Adminpanel </a>');
    /* close result set */
    $result->close();
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40451433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档