2012-08-30 125 views
2

我一直在使用PHP會話保持登錄,當我使用瀏覽器,但是當我將網絡應用程序保存到我的主屏幕並啓動應用程序,我必須簽署每次我打開應用程序。有沒有辦法保持登錄?iPhone主屏幕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 [ '登錄']從登錄in.php設置文件

sign-in.php

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

不,實際上你不是用PHP登錄。至少不是。你正在使用iOS。我的意思是說:將登錄憑據存儲在應用程序本身中,並在啓動時讓其「重新驗證」自己。這樣,您可以避免每次都登錄。我沒有代碼方便,這就是爲什麼我只評論。 – ATaylor

+0

給你的代碼和應用程​​序夥伴的一些片段猜你的問題在這裏.. :( – rptwsthi

+0

剛剛編輯,以包括我的代碼 – ngplayground

回答

1

我很確定你不需要LocalStorage。

只需在將來設置一個過期的cookie,而不是一個會話cookie(當瀏覽器關閉時會被刪除)。

您可能無法使用PHP會話,因爲這些會話定期刪除。相反,你必須自己處理登錄cookie。

+0

不,他可能需要使用'localstorage',因爲iphone家庭收藏夾會在短時間內清除cookie。 –

0

我不知道是什麼問題,但如果持續本地存儲是你想要的,檢查如果你登錄,您的iOS應用親近然後在這裏後,它是:

設置一個標誌,用戶默認值,例如:

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

然後檢索該值時,應用程序啓動檢查如果u在被記錄:

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

現在執行你因此所需要的。