我有一个要在 div 中使用的 php 文件:
<?php session_start(); ?>
<?php function loginForm() { ?>
<form method="POST" action="" name="loginForm" id="loginForm" accept-charset='UTF-8'>
<input type='hidden' name='submit' id='submit' value='1'/>
User: <input type="text" name="user" id="user" /><br />
Password: <input type="password" name="passwd" id="passwd" /><br />
<input type="submit" name="login" id="login" value="Login" />
</form>
<?php } ?>
<?php function logoutForm() { ?>
<form method="POST" action="" name="logoutForm" id="logoutForm">
Logout: <input type="submit" value="Log out" name="logout" id="logout" />
</form>
<?php } ?>
<?php
function loggedUser() {
if(isset($_SESSION['user']) && isset($_SESSION['passwd'])) {
return $_SESSION;
} else {
return array();
}
}
function loginLogout() {
$loggedUser = loggedUser();
if(!empty($loggedUser)) {
logoutForm();
} else {
loginForm();
}
if(isset($_POST['login']) && isset($_POST['user']) && isset($_POST['passwd']) &&
$_POST['user'] == "admin" && $_POST['passwd'] == "admin") {
$_SESSION['user'] = $_POST['user'];
$_SESSION['passwd'] = $_POST['passwd'];
header('Refresh: 1; url='.$_SERVER['REQUEST_URI']);
}
if(isset($_POST['logout']) && isset($_SESSION)) {
foreach($_SESSION as $k => $v) {
unset($_SESSION[$k]);
}
header('Refresh: 1; url='.$_SERVER['REQUEST_URI']);
}
}
loginLogout();
?>
而且我在 jquery 和 html 中有代码
<script type="text/javascript">
$(document).ready(function(){
$('#logindiv').load('loginLogout.php');
$('#loginForm, #logoutForm').live('submit', function(e) {
e.preventDefault();
$.post('loginLogout.php', $(this).serialize(), function (
data, textStatus) {
$('#logindiv').html(data);
});
return false;
});
});
</script>
和 div
<div id="logindiv"></div>
如何正确放置代码,登录和注销也可以在 jquery 中使用,而无需刷新整个页面?什么是识别行头的刷新事件('Refresh: 1; url='.$_SERVER['REQUEST_URI']); 在 php 文件中。Widhout div 和 jquery 它运行良好。
谢谢