我收到以下错误消息:
未定义的索引:登录第20行的C:\ wamp \ www \ Networking Script \ home.php
使用以下PHP代码时:
<?php
include("session/DBConnection.php");
$user = $_SESSION['log']['username']; //this is the 20th line in home.php
$query = mysql_query("SELECT * FROM members WHERE username = '$user'")or die (mysql_error());
$display = mysql_fetch_array($query); ?>
请帮帮我伙计:) 谢谢:))
答案 0 :(得分:2)
使用
启动脚本 session_start();
答案 1 :(得分:1)
未定义的索引可能是“通知”。只是意味着您正在尝试访问尚未首先初始化的数组的一部分。
您可以在从数组中读取之前使用array_key_exists来检查偏移是否存在
答案 2 :(得分:0)
您也可能忘记开始会话。请记住,您还必须使用此功能来恢复会话:PHP: session_start - Manual
答案 3 :(得分:0)
您需要在访问会话数据的每个文件的开头调用session_start。
答案 4 :(得分:0)
它告诉你第20行的变量还不存在。
session_start();
if(isset($_SESSION['log']['username'])
{
include("session/DBConnection.php");
$user = $_SESSION['log']['username'];
$query = mysql_query("SELECT * FROM members WHERE username = '".mysql_real_escape_string($user)."'")or die (mysql_error());
$display = mysql_fetch_array($query);
{
else
{
// on username
}
http://www.php.net/manual/en/book.pdo.php
http://uk1.php.net/manual/en/mysqlinfo.api.choosing.php
http://php.net/manual/en/function.htmlspecialchars.php输出代码到浏览器
http://php.net/manual/en/function.mysql-real-escape-string.php
答案 5 :(得分:0)
很确定已经说过了,但是冒着粗鲁的风险......这意味着可靠性尚未确定。它是空的。 在session_start(); 这将是第一件要检查的事情。 如果它没有通过你的“if isset”片段,则不会设置此值。 尝试简单地在变量被设置之后打印出来,并在变量发送到任何地方之前检查变量。