【发布时间】:2014-04-02 23:17:17
【问题描述】:
无论用户是否登录,我都会尝试相应地更改菜单。它不断出现此错误:
注意:未定义变量:第 3 行 C:\xampp2\htdocs\JobBoard\menu.php 中的 _SESSION 菜单.php
<?php
$useremail = $_SESSION['login_user'];
if($useremail==NULL)
{
$loggedinout='<div id="menulogin"><a href="register.php">Register</a> | <a href="login.php">Login</a>   </div>';
}
else
$loggedinout='<div id="menulogin"><a href="logout.php">Logout</a>   </div>';
echo'
<link rel="stylesheet" type="text/css" href="stylesheets/menu.css" />
<div id="menucontainer">' . $loggedinout . '<div id="menulogo"><img src="images/logo.png" /></div>
<div id="searchmenu"></div>
'
?>
这是我开始会话时的页面 登录.php
<?php
include 'menu.php';
include 'db_connect.php';
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// email and password sent from Form
$myemail=addslashes($_POST['email']);
$mypassword=addslashes($_POST['password']);
$sql="SELECT userID FROM users WHERE email='$myemail' and password='$mypassword'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$active=$row['active'];
$count=mysql_num_rows($result);
// If result matched $myemail and $mypassword, table row must be 1 row
if($count==1)
{
session_register("myemail");
$_SESSION['login_user']=$myemail;
header("location: index2.php");
}
else
{
$error="location: test.php";
}
}
?>
我相信这对某人来说是一件很容易的事情。请帮忙
【问题讨论】:
-
顺便说一句,
addslashes不是转义 SQL 输入的正确函数。使用mysql_real_escape_string()。另请注意,oldmysql_*functions 已弃用,you should move to MySQLi or PDO 已弃用。如果这样做,您还可以选择使用参数化查询,而不是手动转义输入值。