Heim >Backend-Entwicklung >PHP-Tutorial >php如何知道发帖的人是谁(哪个注册用户)

php如何知道发帖的人是谁(哪个注册用户)

WBOY
WBOYOriginal
2016-06-23 14:09:32933Durchsuche

研究了session()函数:
1、游客进入网站浏览一个帖子,他想评论!这时页面就跳转到login.php登录界面了!这是怎么实现的??求原理!!
2、用户登录后发帖,php怎么知道是哪个注册用户发的帖子!这是怎么实现的?求原理!


回复讨论(解决方案)

用户注册,注册信息体检存到数据库中通过查询数据库来实现。

用户登录后,将用户名存放于 session
发评论时先检查 session 中是否存有登录信息

php不知道是哪个注册用户发的帖子
你需要自己把用户名与帖子关联起来

研究得还不透彻
登录后session记录用户id,换言之未登录时这个id也不存在于session变量里面,就可以判断跳转了

根据sessionID去分别是那个用户,信息全报存在session里面,获取的时候根据sessionID

根据sessionID去分别是那个用户,信息全报存在session里面,获取的时候根据sessionID `那显示帖子页php怎么知道是谁发的贴?谢谢


根据sessionID去分别是那个用户,信息全报存在session里面,获取的时候根据sessionID `那显示帖子页php怎么知道是谁发的贴?谢谢

读数据库字段...

研究了session()函数:
1、游客进入网站浏览一个帖子,他想评论!这时页面就跳转到login.php登录界面了!这是怎么实现的??求原理!!
2、用户登录后发帖,php怎么知道是哪个注册用户发的帖子!这是怎么实现的?求原理!

我看过韩顺平的php视频讲过您说的这个问题,在他的视频中,讲解session的时候,举了一个案例,那就是如何防止用户非法登录,应该就是你现在咨询的这个问题。

1.当用户登录的时候,通过表单会将用户的登录名和密码(先忽略掉验证码)传到服务器也即相应的php验证脚本中。该脚本会从数据库中获取用户表,进行验证。
2.如果合法,也就是用户的登录名和密码登录成功,那么php程序(专门负责跳转)会打开session机制(session_start),将用户的登录名存入到session中,并进行跳转。如果不合法(没有正确登录),那就跳转到登陆页面去,让用户重新输入用户名和密码。

代码如下:
$adminService=new AdminService();
$name=$adminService->checkAdmin($id, $password);
if ($name){
//合法
session_start();
$_SESSION['loginUser']=$name;
header("Location:empManage.php?name=$name");
//如果要跳转,则最好exit();
exit();
}else{
//非法
header('location:login.php?errno=1');
exit();
}

3.我们建立一个公共脚本,比如叫做common.php,在这个脚本中,我们定义一个方法如下:
    function checkUserValidate(){
  session_start();
  if (empty($_SESSION['loginUser'])){
  header("Location:login.php?errno=1");
  }
 
    }
4、在需要防止用户非法登录页面中(比如你说的发帖页面)引入这样两句(这两句话,放在页面的开头)
require_once 'common.php';
checkUserValidate();
没有登陆的用户是进不到发帖页面的,如果登录成功的用户进入到该页面,那么程序很容易就可以从session中取得该用户资料。

不知道你现在是否明白,如果想知道更详细的,可以看韩顺平视频119讲,后半部分的案例。不再写了,累死了。呵呵!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:请问各位大神一个正则问题Nächster Artikel:php查找问题