2011-03-04 5 views
2

웹 서버와 MySQL 데이터베이스가있는 android에서 응용 프로그램을 개발 중입니다.PHP를 사용하여 세션을 만드는 방법은 무엇입니까?

데이터베이스에는 사용자 이름과 암호가 들어 있습니다.

나는 로그인 절차를 구현하고 안드로이드 장치와 PHP를 사용하여 웹 서버 사이의 세션을 설정하고 싶습니다. 당신처럼 보인다 사전에

감사합니다 ... 질문에서

답변

6

는 PHP, 안드로이드 여부에이 작업을 수행하는 방법을 알고 싶어요. 예를 들어 사용자가 계정을 등록 할 때 DB에 사용자 및 암호 (해시)가 저장되어 있어야합니다. 그래서 로그인 조치에 대해 당신이 뭔가를 할 수 좋아

session_start(); //Start the session. Call on every page that will have the login. 
$login = $_POST['login']; 
$pass = $_POST['pass']; //Get login and password the user has sent. 

if (is_valid_user($login, $pass)) { 
    //If user is valid, pass them along to the next page. 
    $_SESSION['logged_in_user'] = $login; //Keep track of the username in the session 
} 
else echo "Not a valid login"; 
+0

이 PHP 세션을 유지하기 위해 안드로이드 측에서 쿠키 또는 다른 어떤 것을 할 필요가 없다는 말입니까? 서버에 http 요청을 실행하면 서버가 세션을 만듭니다. 그러면 서버에 대한 모든 후속 http 요청이 자동으로 동일한 세션을 사용하게됩니까? –

+0

@Jakobud 일반적으로 예, PHP는 자동으로 쿠키를 방출합니다. 사용자가 쿠키를 비활성화 한 경우에만 걱정할 필요가 있습니다. 그렇다면 GET을 사용하여 세션을 유지할지 여부는 당신에게 달려 있으며, 더 중요한 것은 리디렉션 사이에'SID '를 유지해야한다는 것입니다. 나는 쿠키 비활성화가 요즘 꽤 드물다 고 생각합니다. –

0

... isLoginCorrect는 사용자 이름과 암호가 올바른지 확인하는 기능입니다

session_start(); 

if(isLoginCorrect()) 
{ 
    $_SESSION['logged_in'] = true; 
} 

. 그런 다음, 다음

<?php if($_SESSION['logged_in']): ?> 
    You are logged in 
<?php else: ?> 
    You aren't logged in 
<?php endif; ?> 

은 당신이 사용할 수있는 로그 아웃 ... 이런 물건 템플릿 파일로 세션() 또는 해제를 어떤 논리를 가질 수 ($ _ SESSION [ 'logged_in']);

+0

session_destroy()를 수행하고 세션 변수를 지워야합니다. http://us2.php.net/manual/en/function.session-destroy.php를 참조하십시오. –

+0

Android 측면은 어떻습니까? – Turki

+1

안드로이드 측은 이와 관련이 없습니다. 세션은 서버에 저장되며 클라이언트에게는 보이지 않습니다. –

관련 문제