我需要在php中提供用户注销选项

时间:2014-06-11 03:45:12

标签: php html

我对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>

3 个答案:

答案 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;]);