Php 如何存储会话数据
我有这段代码,它成功地存储了“author\u id”,但我希望它也存储了“author\u is\u admin”字段。我做错了什么。我是PHP新手,因此解释您编写的代码的作用可能会有所帮助Php 如何存储会话数据,php,session,Php,Session,我有这段代码,它成功地存储了“author\u id”,但我希望它也存储了“author\u is\u admin”字段。我做错了什么。我是PHP新手,因此解释您编写的代码的作用可能会有所帮助 <?php session_start(); require_once('inc/config.php'); $_SESSION['author_is_admin']; if (isset($_SESSION['author_id'])) { // Logged in. /* Bu
<?php
session_start();
require_once('inc/config.php');
$_SESSION['author_is_admin'];
if (isset($_SESSION['author_id'])) { // Logged in.
/* Build redirect URL */
$url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);
if (!(substr($url, -1) == '/')) {
$url .= '/';
}
/* Redirect to index. */
header("Location: $url");
exit();
}
$error = false;
if (isset($_POST['submitted'])) { // Form submitted, attempt login.
if (!empty($_POST['email']) && !empty($_POST['password'])) { // Email & password entered.
require_once('inc/db.php');
$email = escape_data($_POST['email']);
$password = escape_data($_POST['password']);
} else { // Email or password empty.
$email = $password = false;
$error = true;
}
if ($email && $password) { // Email and password entered.
$query = "SELECT author_id FROM authors WHERE (author_email ='$email' AND author_password = MD5('$password'))";
$result = mysql_query($query) or trigger_error('Error: ' . mysql_error());
if (@mysql_num_rows($result) == 1) { // Email and password correct.
$row = mysql_fetch_array($result);
mysql_free_result($result);
mysql_close();
/* Store session data */
$_SESSION['author_id'] = $row['author_id'];
$_SESSION['author_is_admin'] = $row['author_is_admin'];
/* Build redirect URL */
$url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);
if (!(substr($url, -1) == '/')) {
$url .= '/';
}
/* Redirect to index */
header("Location: $url");
exit();
} else { // User not authenticated.
$error = true;
}
} else { // Email and/or password not entered.
$error = true;
}
}
?>
您没有在查询中检索该列:
$query = "SELECT author_id FROM authors WHERE (author_email ='$email' AND author_password....."
//Should be
$query = "SELECT author_id, author_is_admin FROM authors WHERE (author_email ='$email' AND author_password"
您没有在查询中检索该列:
$query = "SELECT author_id FROM authors WHERE (author_email ='$email' AND author_password....."
//Should be
$query = "SELECT author_id, author_is_admin FROM authors WHERE (author_email ='$email' AND author_password"
一切都好。如果您试图检查什么是$\u会话['author\u is\u admin']代码>您需要
print $_SESSION['author_is_admin'];
或
一切都好。如果您试图检查什么是$\u会话['author\u is\u admin']代码>您需要
print $_SESSION['author_is_admin'];
或
你犯了什么错误?您如何知道$\u会话['author\u is\u admin']=$row['author\u is\u admin']
没有设置它。@rlemon我在我的一个页面中使用了此代码:“如果($_SESSION['author\u is_admin']==0){echo'No';}否则{echo'not Assigned';}”您会遇到什么错误?您如何知道$\u会话['author\u is\u admin']=$row['author\u is\u admin']
没有设置它。@rlemon我在我的一个页面中使用了此代码:“如果($_SESSION['author\u is_admin']==0){echo'否';}否则{echo'未分配';}”