我想創建頁面登錄系統。用jquery登錄頁面
沒有JavaScript我可以在這個結構完美登錄:
<?php
require_once('login.php');
$login = new Login();
// if we are logged in here:
if ($login->isUserLoggedIn() == true) {
// yes we are
echo "<div id=\"login\">you logged in as $_SESSION[user_name]. <a href=\"?logout\">Logout</a></div>";
} else {
// no
echo "
<div id=\"login\" style=\"display: none;\">
<form action=\"index_.php\" method=\"post\" name=\"loginform\" id=\"loginform\" onsubmit=\"return false;\">
<input type=\"text\" class=\"form-control\" id=\"user_name\" name=\"user_name\><br>
<input type=\"password\" class=\"form-control\" id=\"user_password\" name=\"user_password\"><br>
<label class=\"checkbox-label\" style=\"pointer-events: all;\" for=\"user_rememberme\"><input checked class=\"user_rememberme\" name=\"user_rememberme\" id=\"user_rememberme\" value=\"1\" type=\"checkbox\"/>
Remember me</label>
<a href=\"#frg\" class=\"frg float:right; display:inline;\">Forgot Password?</a>
<input class=\"btn btn-success\" type=\"submit\" name=\"login\" id=\"loginbutton\" value=\"Login\">
</form>
</div><!-- login ends -->
";
}
?>
目前的工作體系,我送form
到當前頁面。而下面告訴用戶結果代碼:(。比如你登錄,請激活你的帳號,登錄失敗)
<?php
// I send the form same page upside.
// and if i login or not, codes below lets me know.
if (isset($login)) {
if ($login->errors) {
foreach ($login->errors as $error) {
echo "<div id=\"message\">$error</div>";
}
}
if ($login->messages) {
foreach ($login->messages as $message) {
echo "<div id=\"message\">$message</div>";
}
}
}
?>
作爲下一個步驟,我想在頁面登錄使用Ajax的幫助。因此,這裏是我的javascript代碼入手:
<script type="text/javascript">
// login on page
$(function(){
$("#loginform").submit(function(){ // .click yerine .submit
if($("#loginform").valid()){
$.ajax({
type: "POST",
url: "index_.php",
data: $("#loginform").serialize(),
beforeSend: function(){
$('#message').html('Loading...');
},
success: function(data){
$('#message').html(data);
}
});
}
});
});
</script>
具體javascript代碼
success: function(data){ $('#message').html(data);
我要輸出我的PHP結果的一部分,但複製的php data
內顯然不會工作。
我該怎麼辦?
你應該使用'$( '#消息')。HTML(數據);'...... – davidkonrad
這樣#'message'加載整個頁面。但我只想看到結果輸出。 – Lukasz
好的;上述內容並不那麼明顯。所以第一塊代碼是'index_.php'?下一段代碼是什麼? – davidkonrad