【发布时间】:2012-03-27 15:25:25
【问题描述】:
一旦用户登录,我需要显示文本“欢迎用户名”,如果未登录或 cookie 过期,则显示“登录|注册”链接。但是,我需要显示的文本在 index.php 上,用户身份验证在 checklogin.php 上完成。
我不确定如何更新 index.php 上的文本(不刷新/动态),因为身份验证事件是在另一个页面 checklogin.php 上执行的。请注意,登录页面使用“_blank”在新页面中打开。
我正在复制以下代码: 感谢您的宝贵时间。
index.php
<?php
if ($_COOKIE['cookieName']) { echo '<li>Welcome '. $_COOKIE['cookieName']; echo'|'; echo '<a href="logout.php" target="_blank">Logout</a> </li>'; }
else {echo' <li><a href="login.php" target="_blank" class="login">Login</a> | <a href="user_add.php" target="_blank" class="login">Register</a></li> '; }
?>
登录.php
<form action="checklogin.php" method="post" name="form" id="form">
<input type="text" name="username" value = '' />
<input type="password" name="password" value = '' />
<input name="submit" type="submit" value="Log me in." class="button"/>
checklogin.php
$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
// Mysql_num_row is counting table rows
$count=mysql_num_rows($result);
if($count==1){
$cookie_name ="$cookiename";
$cookie_expire ="300";
setcookie($cookie_name,$cookie_value,time() + (300),"/", $cookie_domain);
header("location:$successfulLogin_url");
}
else{
header("location:$failedLogin_url");
}
【问题讨论】:
-
假设
index.php打开了包含checklogin.php的窗口,那么您可以使用window.opener属性访问主窗口。不过,您还没有真正说出要处理的事件。 -
成功登录后,cookie被设置。我现在需要更改 index.php 上的文本。此外,登录页面实际上是一个新页面“_blank”而不是一个窗口。
标签: php javascript jquery cookies