2

当我使用浏览器时,我一直在使用 PHP Session 保持登录状态,但是当我将 Web 应用程序保存到主屏幕并启动应用程序时,我每次打开应用程序时都必须登录。有没有办法保持登录状态?

当我查看本地存储时,任何人都可以提供代码示例或指出正确的方向,并且不确定在我登录时如何设置 LocalStorage 值以及如何检查该值是否存在。

注意:我目前使用 PHP 登录

谢谢

索引.php

<script type="text/javascript">
    <?php echo $_SESSION['logged'];?> 
    <?php if ($_GET['logged'] == 1){?>
        $.cookie( 'loggedin', '1',  { expires: 7, path: '/' } );
    <?php }?>
        if( $.cookie('loggedin') == '1' ) { 
            <?php $userlog = true?>
            $.cookie( 'loggedin', '1',  { expires: 7, path: '/' } );
        } else {
            <?php $userlog = false?>
        $.cookie( 'loggedin', '0',  { expires: 7, path: '/' } );        
        }
</script>

$_SESSION['logged'] 是从 sign-in.php 文件中设置的

登录.php

    if($count==1) {
        session_register("username");
        $_SESSION['logged']= $user;
        header("location: /?logged=1");
    } else {
        echo "Your Login Name or Password is invalid";
    }
4

3 回答 3

1

我很确定您不需要 LocalStorage。

只需设置一个在未来过期的 cookie,而不是会话 cookie(当浏览器关闭时会被删除)。

您可能无法为此使用 PHP 会话,因为它们会被定期删除。相反,您必须自己处理登录 cookie。

于 2012-08-30T09:45:01.737 回答
0

我不确定是什么问题,但是如果您想要可持续的本地存储,请检查您是否已登录,在您的 iOS 应用程序关闭后,这里是:

将标志设置为用户默认值,例如:

  [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"isLogin"];

然后在应用程序启动时检索此值以检查您是否已登录:

 BOOL isLogin = [[NSUserDefaults standardUserDefaults] valueForKey:@"isLogin"];

现在相应地执行您需要的操作。

于 2012-08-30T10:16:20.683 回答
0

我目前使用 LocalStorage 工作正常

于 2012-10-17T11:32:11.483 回答