热搜:NVER node 开发 php

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

2024-09-11 18:25:01
php如何知道发帖的人是谁(哪个注册用户)

研究了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讲,后半部分的案例。不再写了,累死了。呵呵!