【问题标题】:PHP LOST SESSIONPHP 丢失会话
【发布时间】:2012-11-08 10:40:50
【问题描述】:

这是我第一次遇到这个问题。

基本上,当我执行登录功能时,我会创建一个会话变量,并将其传递给 index.php 文件。

问题是,如果我刷新浏览器,或点击其他菜单项,我会丢失会话。

这里有一些代码:

public function Login_Form()
{
    if(isset($_POST['login']))
        $this->login($_POST);
 ?>
<form action="<?php $_SERVER['PHP-SELF']; ?>" method="POST" id="form_login">
<table>
    <tr>
        <td>Username</td>
        <td><input type="text" name="username" /></td>
    </tr>
    <tr>
        <td>Password</td>
        <td><input type="password" name="password" /></td>
    </tr>
    <td><input type="submit" name="login" value="Login" /></td>
</table>
</form>
 <?php
}

private function login($p)
{
    // OTTENGO VALORI PASSATI DAL LOGIN FORM
    $username = mysql_real_escape_string($p['username']);
    $password = mysql_real_escape_string(md5($p['password']));
    // CONTROLLO CHE ESISTA L'UTENTE
    $control = mysql_query("SELECT * FROM tareado.user WHERE username='$username' AND password='$password'");
    if(mysql_affected_rows() > 0)
    {
        while($x = mysql_fetch_array($control))
        {
            $id_utente = $x['iduser'];
            $_SESSION['idutente'] = $id_utente;
        }

        $_SESSION['username'] = $username;
        //session_write_close();            
        header("Location: index.php"); // REDIRECT TO INDEX.PHP, NOW WE ARE IN index.php?a=log
        //exit();

    }
    else
        echo "Credenziali errate";
}

我在 index.php SESSION_START() 的顶部放了,但我总是丢失会话。

可能是什么问题?重定向?

【问题讨论】:

  • 你检查有没有错误?您可能必须将错误报告设置为所有,看看是否有(或者更确切地说没有)发生意外的事情。

标签: php session redirect


【解决方案1】:

我在重定向的页面中没有看到会话开始。如果会话甚至在 Cookies 选项卡下启动,您也可以使用 firebug 进行调试。当您尝试登录时,您应该会看到类似 PHPSESSID 的内容。不确定这是否是您的答案,但我还无法发布 cmets。

【讨论】:

  • 阅读最后一行。无论如何,您的回答是评论。
  • 我读了最后一行。您在谈论 index.php,这是您要重定向到的页面吗?不是您要重定向的页面..
  • 重定向是从index.php?a=log到index.php,我把session_start()放在了index页面的最上面,但是不起作用!
  • 直接从一个会话开始,然后在该会话中添加一个人不是更方便吗?这样你的会话总是存在的,它只是定义何时必须从会话中删除用户以便他们不再链接的问题。这样你就可以在不登录的情况下拍摄会话值。
猜你喜欢
  • 2013-08-10
  • 2012-05-09
  • 2012-06-03
  • 2011-12-05
  • 2020-07-11
  • 1970-01-01
  • 2011-11-11
  • 1970-01-01
相关资源
最近更新 更多