我的session_is_registered验证为什么总是通不过,请各位大侠给予指教
jiagu 2004-04-13 09:40:08 我在做网页的用户验证时,一开始就不打算使用cookie,因为很多文章都介绍cookie是不安全的,所以我选择了session会话,但是我在调试程序的过程中,在碰到session_is_registered验证变量是否注册了时,总是通不过,我很头疼,也许是我还没很好的理解session。下面是我的代码部分,请各位大侠给予指导。我很想我能实现我的session验证,所以请求你们的帮助,谢了!
【index.php】
<? session_start();
require "global.php";
require "function.php";
if ($_POST["sub_master"])
{
if (empty($_POST["master_user"]))
{
$error = "请输入用户名!";
backpage($error);
exit;
}
elseif (empty($_POST["master_pass"]))
{
$error = "请输入密码!";
backpage($error);
exit;
}
else
{
$user = $_POST["master_user"];
$pass = $_POST["master_pass"];
login($user,$pass);
}
}
?>
……(网页部分)
【global.php】
function login($user,$pass)
{
$ip = getenv("remote_addr");
session_register($ip);
$sql1 = "select * from sadmin where user='$user'";
$query1 = mysql_query($sql1) or die(mysql_error());
$arr1 = mysql_fetch_array($query1);
if (!$arr1[id])
{
$error = "对不起,该用户名不存在!";
backpage($error);
exit;
}
if ($arr1[pass]!=$pass)
{
$error = "对不起,密码不正确!";
backpage($error);
exit;
}
$username = $arr1[user];
$password = $arr1[pass];
$usertype = $arr1[type];
session_register($username);
session_register($password);
session_register($usertype);
echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=trends_insert.php'>";
}
【需要用到session验证的trends_insert.php】
<? session_start();
if (session_is_registered($username) and session_is_registered($password) and session_is_registered($ip))
{
require "../webadmin/config_inc.php";
require "function.php";
$sql3 = "select * from trends_type order by id";
$query3 = mysql_query($sql3) or die(mysql_error());
}
else
{
echo "对不起,您没有访问权限,网页将在5秒钟后返回……";
echo "<META HTTP-EQUIV=REFRESH CONTENT='5;URL=index.php'>";
}
?>
……(网页部分)