动态更新页面上的文本以响应另一个窗口中另一页面上的事件

时间:2012-03-27 15:25:26

标签: php javascript jquery cookies

我需要显示文字"欢迎用户名"一旦用户登录,并显示" login | register"链接如果未登录或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> '; }
?>

的login.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");
}

1 个答案:

答案 0 :(得分:0)

我认为在这种情况下,您只能在setInterval()check cookie with javascript上使用index.php。一旦设置完毕,您可以使用用户的登录信息更新html(删除登录链接并显示欢迎信息)。

但是,我认为将用户发送到后台主站点的第二个窗口并不是一个好习惯。 “登录”单击时,模态对话框甚至动态加载的登录表单会更好。但是如果你真的需要这样做,间隔背景检查可能只是方法。