未定义的索引:userid in

时间:2014-03-17 23:15:28

标签: php

尝试学习php和我正在尝试的第一个项目是一个pm系统,但我一直收到一条错误,上面写着注意:未定义的索引:第102行的login.php中的用户ID&第110行

希望有人可以帮助我开始喜欢php

源代码

第102行

$nb_new_pm = mysql_fetch_array(mysql_query('select count(*) as nb_new_pm from pm where
((user1="'.$_SESSION['userid'].'" and user1read="no") or
(user2="'.$_SESSION['userid'].'" and user2read="no")) and id2="1"'));

第110行

<a href="list_pm.php">Your messages(<?php echo $nb_new_pm; ?>)</a> - 
<a href="profile.php?id=<?php echo $_SESSION['userid']; ?>">
<?php echo htmlentities($_SESSION['username'], ENT_QUOTES, 'UTF-8'); ?></a> 
(<a href="login.php">Logout</a>)

3 个答案:

答案 0 :(得分:0)

当前会话中没有userid。您应首先检查是否使用isset($_SESSION['userid'])

进行了设置

答案 1 :(得分:0)

我认为问题是你没有设置$ _SESSION ['userid']等于什么?

因此,$ nb_new_pm也是未定义的,因为$ _SESSION ['userid']没有定义它。

你究竟想用这个脚本做什么?

答案 2 :(得分:0)

欢迎来到PHP的世界!

此问题可能与缺少session_start();

有关

使用$ _SESSION时,您需要始终使用session_start(); 启动php代码。

例如,两个文件。

<强> saveinfo.php

<?php

$_SESSION['userid'] = 123;

?>

<强> showinfo.php

<?php
echo 'Hello, we are printing stuff and making calculations';

echo 'You are the user..." . $_SESSION['userid'];

?>

运行saveinfo.php然后运行showinfo.php不会有用。为什么?因为你没有写session_start,这就是原因。

所以,添加session_start();起初!

<强> saveinfo.php

<?php

session_start();

$_SESSION['userid'] = 123;

?>

<强> showinfo.php

<?php

session_start();

echo 'Hello, we are printing stuff and making calculations';

echo 'You are the user..." . $_SESSION['userid'];

?>