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 はうまく機能します。
ありがとうございました