Ich bin damit beschäftigt, eine Seite zu entwickeln, wo ich eine Login-Box in der oberen rechten Ecke habe. Ich möchte, dass sich der Benutzer auf derselben Seite anmelden kann, ohne dass er aktualisiert wird.jQuery & AJAX Login Formular
OK, ich habe diesen Teil arbeiten, aber ich bin immer noch kämpfen, mit Post-Login-Prozess, mein Aussehen wie folgt:
(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");
}
(meine 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>
Der Anmeldevorgang funktioniert, aber das Protokoll aus verstümmelt wird. Wenn ich auf den Abmelden-Link in isLoggedIn.php klicke, meldet er sich ab, aber mein jQuery auf den Texteingaben funktioniert nicht mehr, genauso wie die jQuery auf dem Formular selbst.
Gibt es eine Möglichkeit, dass ich meine jQuery aktualisieren muss, um das ersetzte HTML zu reaktivieren? Jede Hilfe wird geschätzt.
Grüße & TIA