我正在尝试实现Web上的大多数Web应用程序所具有的功能,这些Web应用程序具有登录屏幕和侧面的“记住我”复选框,如果选中该复选框,则允许在下次访问Web时向用户打开条目网页...正如,它不要求用户输入用户名和密码了,它只是记录他们进来。网页在下次登录时如何记住您?
我要做到这一点使用PHP
我正在尝试实现Web上的大多数Web应用程序所具有的功能,这些Web应用程序具有登录屏幕和侧面的“记住我”复选框,如果选中该复选框,则允许在下次访问Web时向用户打开条目网页...正如,它不要求用户输入用户名和密码了,它只是记录他们进来。网页在下次登录时如何记住您?
我要做到这一点使用PHP
它被称为“记住我” cookie,它是通常只是另一个不会过期的cookie,或者有很长时间(几天,几周,几个月)才能说出您是谁,并且基本上可信的网站。
我建议看看PHP: AutoLogin (’Remember Me’) using cookies和Improved Persistent Login Cookie Best Practice。
简单的答案是使用cookie。 Cookie是通过网页存储在客户端机器上的一小部分数据。用户登录时设置cookie,在页面加载时检查cookie。
查看PHP Cookies教程了解详情。
它被称为“Session management”,主要通过称为“HTTP Cookie”的技术实现。在PHP中,你可以看到一个很好的教程here。
您使用cookies。 Cookie是存储在用户计算机上的特定网站的小文件。它包含一个值和一个失效日期(cookies将在x时间后自动被浏览器删除)。因此,您可以在选择“记住我”选项时保存包含用户名的Cookie。当用户返回该网站时,检查该cookie是否存在以及该值是什么,然后登录该用户并更新cookie到期日期。
您可以使用哪种服务器端脚本,逻辑依赖它。
以下是您需要注意的一步。
向UserInfo表“isLoggedIn”中的数据库添加一列作为默认值为“FALSE”的BIT字段。
当用户使用“Remeber Me”复选框登录到您的Web应用程序时,将“isLoggedIn”列设置为“True”,直到他/她热切地点击Web应用程序的“SIGN OUT”选项。如果他/她点击“退出”选项,则将“isLoggedIn”列设置为“FALSE”。
当用户登录时,为用户创建客户端cookie。所以当下次页面加载时检查客户端cookie,对于用户,检查同一用户的数据库列“isLoggedIn”是否为“真”,如果其“真”不会阻止用户登录,否则请求他/她登录。
希望我清楚,如果它让你困惑,请让我知道。
祝你好运。