我对php和服务器端脚本语言都很陌生。我有一个网站,我正在开发一个成员部分。我的问题是我似乎无法让用户注销。有什么我看得太过分了。我做过研究,这是我正在使用的实现:
<?php // this is the start-up php on all member only pages
session_name('name');
session_set_cookie_params(0); //set to delete upon browser close
// this is the code to set the log off, with a redirect to index page
session_start();
session_destroy();
header("Location: http://foo");
?>
<!doctype html>
<html lang="en">
<head>
<Title>Log-Out Redirect</title>
</head>
<body></body>
</html>
答案 0 :(得分:1)
这样的方法可能有效(如果在同一个脚本中执行登录和注销):
<?php
session_start();
$loggedIn = false;
if (isset($_SESSION['logged_in']) && $_SESSION['logged_in'] == true) {
if (isset($_POST['logout_intent') && $_POST['logout_intent'] == true)
session_destroy();
else
$loggedIn = true;
else {
if (isset($_POST['login_intent'] && $_POST['login_intent'] == true) {
/* Try to make the login and set your variables accordingly */
if ($loginSuccess)
$loggedIn = true;
$_SESSION['logged_in'] = true;
else
$loggedIn = false;
}
}
?>
稍后在您的代码中......
<?php
if ($loggedIn) {
/*
* Show admin panels or whatever a logged in user must see,
* like a logout button; e.g...
*/
echo
'<form method="POST" action="">
<input type="submit" value="Logout">
<input type="hidden" name="logout_intent" value="true">
<logout>';
} else {
/*
* Show whatever a non-logged in user must see, like a
* login or register form; e.g...
*/
echo
'<form method="POST" action="">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Login">
<input type="hidden" name="login_intent" value="true">
<logout>';
}
?>
请注意,空白操作参数值表示它会将数据发送到与表单所在页面相同的页面。
答案 1 :(得分:0)
要重定向您的使用,请尝试使用:
<?php header("Location: http://foo"); ?>
你可以是相对或绝对的链接。
答案 2 :(得分:0)
尝试这个我不确定
未设置($ _ SESSION [&#39; session_value&#39;]);