注册会话错误(null)

时间:2014-05-06 08:51:41

标签: php

问题: 登录后,它会重定向到index.php而不是home.php。 根据我的观察,两者的会话寄存器都是NULL。 有人能帮我吗? 我是PhP的新手。

谢谢,抱歉语法错误/英语。

检查登录:

<?php ob_start();
include ("connect/db.php");
$username = $_POST['username']; 
$password = $_POST['password'];
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);

$sql="SELECT * FROM users WHERE login='$username' and passwd='$password'";

if (!mysql_query($sql, $con)){
die('Error: ' . mysql_error());
}

$result=mysql_query($sql);
$count=mysql_num_rows($result);

if($count==1){
$rows = mysql_fetch_array($result);
$member = $rows['member_id'];
$_SESSION["iduser"] = $username;
$_SESSION["idmember"] = $member;
echo '<center>Login Successfull!<br>Username : <i>' .$_SESSION["iduser"]. ' [' .$_SESSION["idmember"]. ']</i><br><br>';
echo "<input class='button' type='button' value='Enter' onClick=\"javascript:window.location.href='home.php'\"></center>";
}

else {
echo '<center>Login Error!<br>Invalid Username or Password.<br><br>';
echo "<input class='button' type='button' value='Back' onClick=\"javascript:window.location.href='index.php'\"></center>";
}
ob_end_flush();
?>

主页:

<?php
session_start();
if(!isset($_SESSION['member'])){
header("location:index.php");
}
$username = $_SESSION['iduser'];
$member = $_SESSION['idmember'];
?>

2 个答案:

答案 0 :(得分:0)

您是否已使用session_start();启动了第一个脚本的会话?

$ _ SESSION isset但是为空,所以进入home尝试:var_dump(!empty($ _ SESSION [val]));

如果你这样做了,你应该尝试添加一些var_dump(expression);以查看问题所在,例如验证你的sql结果。

答案 1 :(得分:0)

在检查登录页面中,在页面顶部添加session_start(),如页面所示。​​

在主页,行

页面中

if(!isset($_SESSION['member'])){

应该是

if(!isset($_SESSION['idmember'])){