注册表单,自动登录以前的用户

时间:2012-05-18 12:18:34

标签: php sql

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

问题在于,当他们注册帐户时,自动登录正在重定向先前注册的用户。

我认为它是因为之前的用户已经是loged 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);

}

1 个答案:

答案 0 :(得分:2)

你可能意味着:

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

而不是:

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