2013-10-24 2 views
1

시나리오에 대한 전제 조건 인 사용자 로그인 코드를 작성하려고합니다. 나는 실제로 브라우저가 로그인 페이지를 방문하고 필드를 채우고 제출하기를 원하지 않는다. 그것은 각각의 모든 시나리오에 대해 시간 낭비처럼 보인다. 나는 사용자를 로그인하고 그의 세션 변수를 설정하는 배후 코드를 사용하는 것이라고 생각했다. 이처럼 ... 나는 단계 정의 내에서 $ _SESSION 변수의 위해서 var_dump을

$fr_user = new User(); 
$user_id = 0; 
$fr_user->loginUser($email,$pwd); 
$user_id = $_SESSION['fr_id']; 
$user = new User($user_id); 

<some checks to make sure the $user_id set properly...> 

$this->getSession()->visit($url."?".SID); 

경우, 나는 fr_id 설정지고, 그것은 좋은 일하고있어 볼 수 있습니다.

나는 심지어 내가 방문하고있는 웹 페이지로 PHP 세션 ID를 보냈지 만, 실제 웹 페이지로 var_dump 할 때, 세션은 똑같은 세션 ID로도 공백이다. (그 사이에 아무 것도 지울 코드가 없음)

그래서 나는 무엇을 놓치고 있습니까? 행동 코드와 셀레늄 브라우저 창에서 별도의 세션이 발생합니까? 어떻게하면 의사 소통을 할 수 있습니까?

감사

답변

1

나는 긍정적 아니지만, 난 당신이 클라이언트 측에서 $ _SESSION 변수 데이터에 액세스하려고 생각합니다. 이 변수는 서버 측 코드에서만 액세스 할 수 있습니다.

session_id가 브라우저로 앞뒤로 전달되지만 실제 데이터는 전달되지 않습니다.

클라이언트 측에서 데이터에 액세스 할 수있게하려면 서버 측에서 setcookie() 함수를 사용하여 $ _SESSION 값을 원시 쿠키로 변환해야합니다.