我阻止了以下部分代码...
我有 config.php 页面,其中包含以下代码:
<?php
// Start the session (pretty important!)
session_start();
// Establish a link to the database
$dbLink = mysql_connect('localhost', 'USER', 'PASS');
if (!$dbLink) die('Can\'t establish a connection to the database: ' . mysql_error());
$dbSelected = mysql_select_db('DATABASE', $dbLink);
if (!$dbSelected) die ('We\'re connected, but can\'t use the table: ' . mysql_error());
$isUserLoggedIn = false;
$query = 'SELECT * FROM users WHERE session_id = "' . session_id() . '" LIMIT 1';
$userResult = mysql_query($query);
if(mysql_num_rows($userResult) == 1){
$_SESSION['user'] = mysql_fetch_assoc($userResult);
$isUserLoggedIn = true;
}else{
if(basename($_SERVER['PHP_SELF']) != 'index.php'){
header('Location: index.php');
exit;
}
}
?>
现在我有了另一个页面,其中包含以下代码:
<?php include_once('config.php'); ?>
<?php foreach($_SESSION['user'] as $key => $value){ ?>
<li><?php echo $key; ?> <strong><?php echo $value; ?></strong></li>
<?php } ?>
该代码向我显示存储在数据库中的所有信息,一个接一个......
我想在我的页面中单独显示信息,例如:
<?php echo $email; ?>
诸如此类..
有人可以解释我怎么做吗?
谢谢
答案 0 :(得分:2)
您应该输出
<?php echo $_SESSION['user']['email'] ?>
假设'email'是 users 表中的列名。
答案 1 :(得分:2)
只需解决关联数组中的相关字段:
<?php echo $value['email';?>
答案 2 :(得分:1)
在配置文件中使用它:
$_SESSION['user']['email'] = mysql_fetch_assoc($userResult);
而不是
$_SESSION['user'] = mysql_fetch_assoc($userResult);
你的代码中的。您可以传递要从表中传递的任意数量的列。
在另一页中使用
foreach($_SESSION['user']['email'] as $key => $value)
而不是
foreach($_SESSION['user'] as $key => $value)
代码。
记住您在配置文件中传递的列数,应在此页面中调用所有这些列。