通过会话的Php简单登录脚本

通过会话的Php简单登录脚本,php,session,login,Php,Session,Login,我是php新手,在创建登录脚本时遇到问题。在代码的第一部分中,它可以找到属于登录者的正确id,并在$\u会话['id']中正确设置。然后脚本重定向回索引,但是这里我得到一个错误,说会话中没有设置id 注意:第11行的C:\xampp\htdocs\gym\v1\content\body\panel.php中的未定义索引:id $sql="SELECT id FROM user WHERE email='$myusername' and password='$mypassword'"; $resu

我是php新手,在创建登录脚本时遇到问题。在代码的第一部分中,它可以找到属于登录者的正确id,并在$\u会话['id']中正确设置。然后脚本重定向回索引,但是这里我得到一个错误,说会话中没有设置id

注意:第11行的C:\xampp\htdocs\gym\v1\content\body\panel.php中的未定义索引:id

$sql="SELECT id FROM user WHERE email='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count==1){
    session_regenerate_id(); //Regenerate session ID to prevent session fixation attacks
    $member = mysql_fetch_assoc($result);
    $_SESSION['id'] = $member['id'];
    session_write_close();
    header("location: ../index.php?page=2");
    exit();
}
else {
    header("Location: ../index.php?page=1");
    exit();
}
?>

session_start();
回显“会话id:”$_会话['id'];
if(!isset($_会话['id'])| |(trim($_会话['id'])=''){
回显“错误未设置会话id”;
退出();
}
$sql=“从id=”的用户中选择*”$_会话['id']。"'";
$result=mysql\u查询($sql);
$member=mysql\u fetch\u assoc($result);
$mail=$member['emails'];
“欢迎!”$邮寄";;

提前感谢

在您的登录脚本中,在设置
$\u会话['id']
之前,您从不调用
会话\u start()


此外,它可能无法回答您的问题,但您应该停止使用
mysql.*
函数。他们被弃用了。改为使用(从PHP5.1开始支持)或(从PHP4.1开始支持)。如果不确定要使用哪一个,则在登录脚本中,在设置
$\u session['id']
之前,决不会调用
session\u start()


此外,它可能无法回答您的问题,但您应该停止使用
mysql.*
函数。他们被弃用了。改为使用(从PHP5.1开始支持)或(从PHP4.1开始支持)。如果您不确定使用哪一个,.

我认为
$member
没有
id
元素它可能无法回答您的问题,但您应该停止使用
mysql.*
函数。他们被弃用了。改为使用(从PHP5.1开始支持)或(从PHP4.1开始支持)。如果您不确定使用哪一个,在您的登录脚本中,在设置
$\u session['id']
之前,您永远不会调用
session\u start()
。我认为
$member
没有
id
元素。它可能无助于回答您的问题,但您应该停止使用
mysql\u*
函数。他们被弃用了。改为使用(从PHP5.1开始支持)或(从PHP4.1开始支持)。如果您不确定要使用哪一个,请在登录脚本中,在设置
$\u session['id']
@theCatonOfflat之前,不要调用
session\u start()
。我复制/粘贴了我的评论&它没有链接。@TheCanotheflat对此表示感谢。我从我的评论中复制/粘贴&它忽略了链接。
session_start();
echo 'session id:' . $_SESSION['id'];
if(!isset($_SESSION['id']) || (trim($_SESSION['id']) == '')) {
    echo 'error not session id set';
    exit();
}
$sql="SELECT * FROM user WHERE id='" . $_SESSION['id'] . "'";
$result=mysql_query($sql);

$member = mysql_fetch_assoc($result);
$mail = $member['emails'];

echo '<h1>Welcome!'. $mail  . ' </h1>';