我正在检查mysql数据库中的用户级别,以便在匹配的情况下显示链接。
这是我当前的代码:
<?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']存储在我的登录表单中:
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数据库中的用户级别,如果登录的用户与之匹配,就让链接出现。
发布于 2016-11-07 00:23:15
请按如下所示更正您的代码。登录页面:
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);
}
}
}
?>另一个代码是:
<?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();
}https://stackoverflow.com/questions/40451433
复制相似问题