PHP获得当前登录用户ID,详细代码写法

如题,小弟正在做一个小微博项目,在当前用户登录后,跳转到个人首页,在当前页可以获取到该登录用户的所有信息,我用SESSION只能获取到用户名,其他信息都不能获取。
通过此页面可以跳转到修改头像页面,但一直是update user set face='1' where id= 0,始终不能获取当前登录用户ID,请前辈指点一下我该如何做,谢谢。

/*
获取用户信息,首先是根据条件来查找用户
$_SERVER["user_id"]  登陆保存user_id保存到session
$_SERVER["user"]    登陆保存用户到session
*/
"select * from user where id='".$_SERVER["user_id"]."' and user ='".$_SERVER["user"]."'"  ; 
/*
更新用户信息首先是要查找出这个用户信息
查找的时候必须传递id参数过去,否则无法找到对应的用户
*/
"select * from user where id='".$_GET["user_id"]."'" ;  // 可以不用根据id来做判断,但是判断的内容必须是唯一的
/*
最后修改完信息后通过表单提交的内容也要带能唯一识别用户的参数,(例如:id)
*/
"update user set face='".$_POST["user_icon"]."' where id='".$_POST["user_id"]."'"

都是手写的,用的好记得采纳哦,还有不懂的可以继续追问。

追问

亲。登录是怎么将id保存到session啊?我可以将用户名和密码存进session,但其他信息都不行。
在登录处理页面,我是这样存ID的:
¥_SESSION['id']=$_POST['id'];
但是错误的,但正确的将id存SESSION应该怎么写呢

追答

这样写当然错啊,这个id是数据库里面的,你把你登陆程序代码页贴上来吧

追问

这是登录页的代码:

这是登录处理页的代码:

 

麻烦亲指点一下哈,感激不尽。

追答

if($row=mysql_num_rows($res)>0)
{
$_SESSION["id"]=$row["id"]; //后面的id是从数据库那边获取的
}

你在你原来的基础上加上if里面的session 然后再试试

追问

这样是能够登录成功,但在跳转到个人中心后还是无法获取这个登录用户保存在数据库里面的id , 请问我可以用session将本次登录用户的性别,邮箱,生日,家乡等信息保存吗? 如果可行又该怎么做呢? 可行的话就可在需要显示的地方调用这个session值就行了

追答

你不用那么麻烦的,只要保持用户id和用户名就可以了,不用全部用session,后台那边查询的话根据这2个条件就能查出来

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-07

第2个回答  2014-02-13
你的用户ID是怎么实现的,数据库里有没有存储用户的ID,如果存了,就在登录成功的地方把当前用户的ID保存到session里面,只能取到用户名那是因为其他信息你没存到session里吧。追问

在登录处理页面,我是这样写的:
$_SESSION['id']=$_POST['id'];
应该是错误的,但正确的将id存SESSION应该怎么写呢

追答

不是这样的,你的用户ID应该是和用户名一样存在数据库里面吧,在数据库里面取出来的时候放进SESSION里
if(mysql_num_rows($res)>0)

{
$result = mysql_fetch_assoc($res);
$_SESSION['id']=$_POST['id'];
//后面是用户名和密码
}

追问

这样可以登录。但也无法在个人信息页面获取到当前用户的各种信息啊,比如该用户登录后我会在成功后的页面显示他的头像,性别,邮箱等资料,该怎样做呢?

第3个回答  2014-02-13
登录时保存SESSION时为什么不保存id?追问

就是不知道该怎么保存他在数据库的id . 我想在该用户登录成功后在页面上直接显示他的各种信息,如头像,性别,邮箱等,这该怎么做呢?

第4个回答  2014-02-13
用session保存啊。。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网