我正忙于开发一个网站,右上角有一个登录框。我希望用户能够在同一页面上登录,而无需刷新。
好的,我已经完成了该部分的工作,但我仍然在登录后过程中苦苦挣扎,我的外观如下:
(HTML)
<li class="login">
<? if (!isset($_SESSION['logged_in'])) {
include("isNotLoggedIn.php");
} else {
include("isLoggedIn.php");
} ?>
</li>
(PHP)
session_start();
$username = $_POST['username'];
$password = $_POST['password'];
if ($username == "admin" && $password == "XXX") {
$_SESSION['logged_in'] = true;
$_SESSION['user'] = $username;
echo include("isLoggedIn.php");
} else {
echo include("isNotLoggedIn.php");
}
(我的 jQuery)
$("form#login").submit(
function() {
var usernameVal = $("input[name='username']").val();
var passwordVal = $("input[name='password']").val();
$.post("login.php",{username : usernameVal, password : passwordVal},
// callback function to receive feedback
function(data) {
$("li.login").html(data);
});
return false;
});
$("a[name='logout']").click(
function() {
$.post("logout.php",
function(data) {
$("li.login").html(data);
});
});
(isLoggedIn.php)
Welcome, <? echo $_SESSION['user']; ?>!<br />
<a href="#">Add game</a><br />
<a href="#">Add player</a><br /><br />
<a href="#" name="logout">Log out</a>
(isNotLoggedIn.php)
<form method="post" id="login">
<input type="text" name="username" alt="Username" class="text" title="Username: Required" value="username" /><br />
<input type="password" name="password" alt="Password" class="text" title="Password: Required" value="password" /><br />
<input type="submit" name="submit" alt="Login" title="Login" value="Login" class="submit" />
</form>
登录过程正常,但退出时出现乱码。当我单击 isLoggedIn.php 中的“注销”链接时,它会注销,但文本输入上的 jQuery 以及表单本身上的 jQuery 不再工作。
有没有办法让我必须刷新 jQuery 才能在替换的 HTML 上重新激活?任何帮助表示赞赏。
问候和TIA