2014-05-11 2 views
0

안드로이드 애플리케이션을위한 PHP Rest API를 만들었습니다. 로그인 한 사용자의 모든 정보를 얻으려고합니다 (전자 메일 및 암호를 사용하여 로그인 한 경우). 이 목적을 위해 $_SESSION['email']을 사용합니다.하지만이 앱을 사용해 보았을 때 작동하지 않았습니다. 안드로이드 애플 리케이션에서 PHP 세션을 사용하는 방법을 설명해 주시겠습니까? 어떻게 안드로이드 응용 프로그램에서 PHP 세션을 사용하는 설명해 주시겠습니까안드로이드 애플리케이션의 PHP 세션

function getLoggedUserInfo() { 

    $sql = "SELECT `id`,`name`, `gender` FROM users WHERE email=:email"; 

    try { 

    $paramemail = $_SESSION['email']; 

    $dbCon = getConnection(); 
     $stmt = $dbCon->prepare($sql); 
     $stmt->bindParam("email", $paramemail); 
     $stmt->execute(); 
     $user = $stmt->fetchObject(); 
     $dbCon = null; 
     echo json_encode($user); 


    } catch(PDOException $e) { 
     echo '{"error":{"text":'. $e->getMessage() .'}}'; 
    } 
} 

답변

1

대단히 감사합니다.

이 될 수 없습니다.

세션은 PHP 서버에 유지되며 공유 할 수 없습니다. 사실 보안 침해입니다.


명세서에 이메일을 추가

$sql = "SELECT `id`,`name`, `gender`, `email` FROM users WHERE email=:email"; 
+0

감사합니다. SQL 로그 작성을 위해 로깅 된 사용자 전자 메일을 저장하고 검색하는 방법을 알려주십시오. – user3626329

+0

@ user3626329 내 대답 참조. – meda

0

를 다음을 수행합니다 (단절에서 인증하는 경우)

  • 안드로이드 응용 프로그램에

    1. 패스 JSON을 안드로이드 응용 프로그램에서는 JSON을 사용하고 인증 된 사용자를 결정하는 일부 데이터를 저장합니다. 당신은 sqlite를 생성하거나 공유 환경 설정을 사용하여이 작업을 수행 할 수 있습니다.

    2. 이제 실제 작업을 수행 할 때마다 POST를 통해 데이터와 함께 인증 상태를 서버에 보냅니다.
    3. 서버에서 인증 작업을 수행하려면 인증을 위해 POST 데이터를 확인하십시오.

    나는이 도움이되기를 바랍니다. 더 나은 시각화를 위해 this

    그리고 또 하나의 힌트를 참조하십시오

    대신 $ _SESSION의가 [ '이메일'] 지금은 $ _POST를 사용할 수 있습니다 [ '이메일'(이것은 안드로이드 응용 프로그램에서 전송), 당신은 보낼 수 있습니다 POST로 일부 인증 매개 변수를 입력 한 다음 인증을 확인한 다음 작업을 수행하십시오.

    if($_POST['authenticate'] == 1){ 
        $email = $_POST['email']; 
        // Perform your function implementation 
    } 
    
    **** REMEMBER: All those POSTs are send from android app. 
    
  • +1

    도움 주셔서 대단히 감사합니다. 공유 환경 설정을 사용하는 방법을 코드 조각으로 설명 할 수 있습니까? 다시 고마워 – user3626329

    +0

    제발, Stackoverflow.There를 검색해보십시오 예제와 함께 공유 환경 설정 및 답변에 관한 100s의 질문입니다. 여기에서 http://www.tutorialspoint.com/android/android_shared_preferences.htm 예제를 볼 수 있습니다. – Nepal12

    관련 문제