在上一个用户上自动登录的注册表单


register form that auto login on previous user

我创建了一个注册表单,将用户放入数据库中并在注册后直接自动登录(或假设(

问题是,当他们注册帐户时,自动登录会重定向上一个注册的用户。

我认为这是因为以前的用户已经登录了id。但是,如果没有人登录,我会收到一条我自己的错误消息,上面写着"用户不存在">

无法真正弄清楚问题出在哪里。

有什么想法吗?

这是我的一些代码。

if(empty($errors)){
                add_user($_POST['username'], $_POST['password']);
                $_SESSION['uid'] = fetch_user_id($_SESSION['username']);
                $_SESSION['username'] = htmlentities($_POST['username']);
                header("Location: profile.php?uid=" . $_SESSION['uid']);
                die(); 

和我的功能

//fetches profile information for the given user
function fetch_user_info($uid){
    $uid = (int)$uid;
        $sql = "SELECT
        `user_name` AS `username`,
        `user_email` AS `email`
    FROM `users`
    WHERE `user_id` = {$uid} ";
    $result = mysql_query($sql);
    return mysql_fetch_assoc($result);
}

你可能的意思是:

$_SESSION['uid'] = fetch_user_id($_POST['username']);

而不是:

$_SESSION['uid'] = fetch_user_id($_SESSION['username']);