Поддержание сеанса PHP в веб-приложении iPhone

Я только что создал веб-приложение на своем iPhone. Я могу открыть его и войти в систему без проблем, но всякий раз, когда я возвращаюсь в приложение, он забыл мою предыдущую сессию, и мне нужно повторно ввести свое имя пользователя и пароль.

Было еще несколько вопросов по этому поводу, но их ответы не помогли мне решить проблему, потому что я не уверен, где поставить PHP, который был предоставлен.

Это лучший ответ, который я нашел: поддерживать сеанс PHP в веб-приложении на iPhone

В ответ Wilbo Baggins ( https://stackoverflow.com/users/346440/wilbo-baggins ) предоставляет следующий код:

// Start or resume session session_start(); // Extend cookie life time by an amount of your liking $cookieLifetime = 365 * 24 * 60 * 60; // A year in seconds setcookie(session_name(),session_id(),time()+$cookieLifetime); 

Я ввел этот код между тегами <?php и ?> В заголовке веб-сайта, но это не решило проблему. Я предполагаю, что я помещаю его в неправильное место, поэтому я ищу руководство, которое объяснит, где я должен его поместить.

Благодарю.

БУМП: Кто-нибудь может помочь мне решить эту проблему или, по крайней мере, знает, как я могу связаться с Уилбо Бэггинсом ( https://stackoverflow.com/users/346440/wilbo-baggins )?

Solutions Collecting From Web of "Поддержание сеанса PHP в веб-приложении iPhone"

В вашем login.php добавьте следующий код, когда информация для входа верна:

 session_start(); //your code here if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),"apple")) //to prevent cookies for non-apple devices { $cookieLifetime = 365 * 24 * 60 * 60; // A year in seconds setcookie("ses_id",session_id(),time()+$cookieLifetime); } 

Затем, в любом другом * .php, вы хотите, чтобы ваш session_id был восстановлен, добавьте следующую строку перед session_start ():

 if($_COOKIE['ses_id']){ session_id($_COOKIE['ses_id']); } session_start(); 

В logout.php добавьте следующий код:

 session_start(); $cookieLifetime = 365 * 24 * 60 * 60; // A year in seconds setcookie("ses_id","",time()-$cookieLifetime); //set lifetime to negative to autodelete cookie session_destroy(); 

Надеюсь это поможет.