我有一个PHP脚本,当用户登录时会重定向回索引,并且基于SESSION,索引文件会加载访客或用户模板。
现在的问题是我想向用户显示一些内容,例如Welcome back,John
而且我不确定如何做到这一点,因为我使用标题将用户重定向到索引
header("Location: hello");
die("Redirecting to: hello");
=======> my current alternative
header("Location: hello?welcome-".sha1($_POST['username'])."");
die("Redirecting to: hello");
=======> Feedback message is outputed as such
if( isset( $_GET['welcome-'.sha1(htmlentities($_SESSION['_cmd:ofau']['username'], ENT_QUOTES, 'UTF-8')).'']) ) {
echo '<div class="action-feed">
Welcome back, '.htmlentities($_SESSION['_cmd:ofau']['username'], ENT_QUOTES, 'UTF-8').'</div>
';
}
我现在正在做的是将一个值和用户名哈希传递回头部,这样当用户被重定向回hello,即mod_rewriten index.php时,它会使用isset()语句读取?welcome- part并显示消息之后由jQuery通过fadeIn(3000)
清除您可能已经猜到的问题是,我将值传递回用户,我不想这样做,相反,如果用户登录登录脚本应该将用户推送到索引并且jQuery应该触发 - 消息并在3000ms后隐藏它
有任何建议如何做到这一点?
--- ANSWERED ---
找出一个可行的解决方案。
在登录过程中,我会创建一个欢迎会话,并在重定向后将此设置设置为null
登录页面
$_SESSION['_cmd:welcome'] = '<div class="action-feed">Welcome back,'.$_POST['username'].'</div>';
索引(重定向目标)
print $_SESSION['_cmd:welcome']; $_SESSION['_cmd:welcome'] = null;
工作得很好所以我会坚持这个:)