我创建了一个注册表单,将用户放入数据库并在注册后直接自动登录(或者假设)
问题在于,当他们注册帐户时,自动登录正在重定向先前注册的用户。
我认为它是因为之前的用户已经是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);
}
答案 0 :(得分:2)
你可能意味着:
$_SESSION['uid'] = fetch_user_id($_POST['username']);
而不是:
$_SESSION['uid'] = fetch_user_id($_SESSION['username']);