登录并保持登录状态

时间:2013-11-04 01:44:27

标签: php html mysql

嘿,所以我有一个网站,要求用户输入他们的用户名和密码,然后检查我的MySQL数据库,看看凭据是否正确。现在,如果是,我想要它,以便用户可以访问网站的其他部分,但没有让他们满足地重新输入他们的信息。基本上让他们登录网站。

我之前从未做过类似的事情,而且我正试图超越课程项目的要求。我将如何实现这一目标?

3 个答案:

答案 0 :(得分:0)

你应该使用cookies。如何到达:http://php.net/manual/fr/features.cookies.php

使用会话变量,您可以验证用户是否已连接。

答案 1 :(得分:0)

有两种可能的解决方案,但行为不同:

1st:是使用PHP sessions。 会话支持允许您在$_SESSION超全局数组中的请求之间存储数据。当访问者访问您的站点时,PHP将自动检查(如果session.auto_start设置为1)或您的请求(显式通过session_start()或通过session_register()隐式检查)是否已随请求发送特定会话ID。如果是这种情况,则重新创建先前保存的环境。例如,如果用户使用以下命令登录,则可以存储:

session_start();
$_SESSION['loged_in']="yes"; 

并使用以下方法检索值:

session_start();
if($_SESSION['loged_in']=="yes"){ echo "logged in!"; }

第二名:PHP Cookies。 PHP透明地支持HTTP cookie。 Cookie是一种在远程浏览器中存储数据并因此跟踪或识别返回用户的机制。您可以使用setcookie()或setrawcookie()函数设置cookie。 Cookie是HTTP标头的一部分,因此必须在将任何输出发送到浏览器之前调用setcookie()。这与header()具有相同的限制。您可以使用输出缓冲功能来延迟脚本输出,直到您决定是否设置任何cookie或发送任何标题。

Cookie会在本地存储凭据,并在用户再次访问同一网页时再次提供该凭据。在您选中“keep me login”复选框时,您可以在此处存储登录详细信息。它与会话的不同之处在于,即使关闭浏览器并关闭计算机,也可以再次访问cookie。

答案 2 :(得分:0)

有两种方法可以做到这一点

  1. 会话
  2. 曲奇
  3. 如果您正在使用Session,则用户必须在关闭浏览器后每次登录。如果您使用Cookie,那么它会在用户计算机上本地保存登录信息(因为您必须在各种网站上看到“记住我”),用户将自动登录。您可以同时使用这两个选项,并根据用户自行决定提供“记住我”选项

    现在,存在与Cookie相关的安全问题(因为您在银行网站上看不到'记住我',您可能会看到它记住用户名)。

    此外,在这种设置中,您必须检查只有授权用户才能访问的每个页面上的用户凭据。

    如果没有正确编码,那么编写SQL注入预防性代码非常容易,而且它不是火箭科学。

    要从这种设置开始,您可以按照一些youtube教程进行操作。有很多这样的。以下是教程http://www.developphp.com/list_php_video.php#How_to_Build_a_Social_Network_Website的链接 这对初学者来说是一个很好的教程。教程1-9将解决您的目的。一旦您成为专家,您就可以编写自己的定制和清洁代码。这些教程将帮助您了解您希望在学习和感知之后设计的一种系统的基础知识。然后天空是限制:)