首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建新用户时的PHP会话错误

问创建新用户时的PHP会话错误
EN

Stack Overflow用户
提问于 2014-06-06 11:02:54
回答 1查看 53关注 0票数 0

我正在使用php/mysql创建一个服务,用户在使用它之前必须注册它。

  1. 我有一个index.php文件,您可以在这里注册和登录。它让这个php会话签入文档的顶部
  2. 然后是register.php文件,在新用户尝试注册时使用该文件。我在这里开始一个新的会话,但是当我尝试访问受限区域foosball/index.php时,这个会话不起作用。 session_start();session_regenerate_id();setcookie(session_name('Foosball'),session_id(),time(),+56*7*24*60*60);$_SESSION'id‘=$mysqli->插入_id;$_SESSION’$firstname‘= $firstname;$_SESSION’$lastname‘= $lastname;$_SESSION’$email‘= $email;$_SESSION’$company‘= $company;$_SESSION’$state‘= $state;session_write_close();标题(’Location: foosball/');
  3. foosball/index.php文件的顶部也有会话签入。

问题是,当我注册并将用户数据添加到数据库时,我也希望设置一个会话,然后继续到foosball/index.php区域。但是会话无效,导致对foosball/index.php页面的会话检查将用户返回到index.php页面。但是,当我随后使用登录脚本登录并设置一个新会话时,一切都按预期进行。我真的希望你们能帮我。

谢谢卡斯珀

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-06 11:25:20

您的脚本无法工作,因为用于在数据库中插入id的函数不会返回任何内容,因此$_SESSION['id']将始终未设置,因此您需要修改insert_id函数,以便返回要插入的id,然后从脚本调用它,将要添加到DB中的id传递给数据库。

例子:

代码语言:javascript
复制
$_SESSION['id'] = $mysqlObject->insert_id(mysql_real_escape_string($_GET['id']));

职能:

代码语言:javascript
复制
function insert_id($id){
    //Insert values is db
    //...
    return $id; //then return something to put into $_SESSION['id']
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24080284

复制
相关文章

相似问题

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