如何判断谁登录PHP?

时间:2013-10-20 08:00:49

标签: php html mysql

我在PHP中创建了一个有效的登录和注册页面,但是我遇到了一个问题。我不知道如何获取登录到他们计算机的人的身份。如何记录谁在哪台计算机上登录并向其显示信息?

例如,在Facebook上,它总是知道你是谁并展示你应该看到的东西,但这是怎么做到的?它如何跟踪这个?如果这很难理解,我很抱歉,但我无法解释它。

5 个答案:

答案 0 :(得分:2)

$_SESSION

会话是一种存储要在多个页面中使用的信息(以变量的形式)的方法。

<?php 
 // this line starts the session and must be present in any page where you need to set or retrieve a session variable
 session_start(); 

 // this sets variables in the session 
 $_SESSION['userid']='123'; //obv it will be dynamic

 // this retrieves the value set earlier
 echo $_SESSION['userid'];
 ?> 

因此,如果userid中存在database您可以获取其记录,则可以查看每个页面。

答案 1 :(得分:1)

所有三个内联注释都是针对不同场景的有效答案。

  1. 如果您想永久记住登录用户 - 请使用数据库
  2. 如果您希望浏览器在定义的时间段内记住登录用户,请使用Cookies
  3. 如果您希望浏览器在浏览器关闭之前记住登录用户,请使用Sessions

答案 2 :(得分:0)

你应该研究会话变量。 PHP会话变量用于存储有关用户会话的信息或更改用户会话的设置。会话变量包含有关单个用户的信息,并且可用于一个应用程序中的所有页面。

当他们登录时,您为其用户名(或您想要的任何变量)设置会话变量,然后当他们更改页面时,您查找会话变量,获取其用户名并显示相关数据。当他们注销时,你会销毁会话变量。如果他们加载页面并且会话变量不存在,则他们不会登录。

这是一个简短的教程: http://www.tizag.com/phpT/phpsessions.php

答案 3 :(得分:0)

在注册网站时会分配一个唯一的用户ID,因此当用户登录时,会请求此用户ID并将用户会话分配给此ID,以便于检索与当前用户相关的所有数据。看看用户会话..

答案 4 :(得分:0)

HTTP是无状态协议,这意味着它没有同一用户之前调用的任何历史记录。因此,为了将上下文信息引入HTTP请求,UI /浏览器发送一些信息以唯一地标识每个用户。

因此,服务器组件(Java / PHP)通过此额外信息识别用户。当然,它通过DB的帮助找到它。