0

ユーザーをデータベースに配置し、登録直後に自動ログインする登録フォームを作成しました(またはそうすると思われます)

問題は、アカウントを登録するときに、自動ログインが以前に登録したユーザーをリダイレクトしていることです。

前のユーザーがすでに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);

}
4

1 に答える 1

2

あなたはおそらく次のことを意味していました:

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

それ以外の:

$_SESSION['uid'] = fetch_user_id($_SESSION['username']);
于 2012-05-18T12:21:15.417 に答える