iPhone主屏幕Web应用程序并保持登录状态

时间:2012-08-30 09:42:39

标签: php iphone web-applications local-storage homescreen

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

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

注意:我目前使用PHP登录

由于

的index.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文件

设置的

登录-in.php

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

3 个答案:

答案 0 :(得分:1)

我很确定你不需要LocalStorage。

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

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

答案 1 :(得分:0)

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

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

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

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

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

现在执行相应的操作。

答案 2 :(得分:0)

我目前使用的LocalStorage工作正常