how to smoothly generate html page content when auto-logging a user in with php and ajax
我的php页面生成的html取决于用户是否登录。例如,如果用户登录,则显示"注销"链接;如果用户未登录,则显示"登录"链接。
我正在实现自动登录功能。当用户登录时,他们可以选中一个框来保持他们登录。如果他们选中此框,则会创建随机ID并将其存储到cookie中,并将其与用户信息一起存储到数据库中。 (它类似于[here] [1]中描述的方法。
我正在考虑实现这个的方式是,如果用户没有登录,php将生成一个javascript函数,该函数将从客户端请求cookie。如果cookie不存在,我将在页面上显示"登录"链接或将页面指向登录屏幕。如果cookie存在,我将使用ajax将cookie传递给php脚本并将用户重新登录。
接下来我该怎么办?我应该使用ajax生成"登录"或"注销"链接吗?这是有道理的,但我觉得使用ajax生成依赖于用户是否登录的内容可能会在我的某些页面上变得复杂。也许我可以在javascript中重新加载页面?在这个辅助加载上,php会检测用户是否已登录并正确显示页面。两个页面加载之间可能会有一些闪烁。
任何有关如何做到这一点的想法或建议,以使用户感到愉快,将不胜感激。
谢谢。
如果你使用PHP来生成页面,为什么不在php中进行
只需以
例:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $is_logged_in = check_if_has_session(); if (!$is_logged_in AND isset($_COOKIE['my_autologin_token'])) { $token = $_COOKIE['my_autologin_token']; // get user id from database, based on $token // if is valid token/user_id set $is_logged_in = true; } ?> // html content start <?php if ($is_logged_in) { /*"Log out" link */ } else { /* Login link */ } ?> |