首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过会话的Php简单登录脚本

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

Stack Overflow用户
提问于 2012-08-16 13:07:34
回答 1查看 781关注 0票数 0

我对php很陌生,我在创建登录脚本时遇到了问题。在代码的第一部分中,它可以找到属于登录人员的正确id,并在$_SESSION'id‘中正确设置。然后脚本重定向到索引,但是这里我看到一个错误,它说在会话中没有设置id。

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

代码语言:javascript
复制
$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();
}
?>
代码语言:javascript
复制
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>';

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-16 13:13:58

在您的登录脚本中,您从不在设置session_start()之前调用$_SESSION['id']。

而且,它可能无助于回答您的问题,但是您应该停止使用mysql_*函数。他们被人反对了。相反,可以使用PDO (PHP5.1支持)或米斯里 (PHP4.1支持)。如果你不确定该用哪一个,读这篇文章。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11987837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档