2013-08-25 3 views
0

PHP를 사용하여 McGrawhill 웹 사이트에 로그인 한 다음 사용자를 계정 영역으로 리디렉션하고 싶습니다. 내 UI에 대한 간단한 로그인 HTML 페이지를 만든이 내 PHP의 일부입니다?PHP를 사용하여 McGrawhill 웹 사이트에 로그인

<?php if(!isset($_POST['loginUserName'],$_POST["loginPassword"],$_POST["force"])||$_POST['loginUserName']==''||$_POST["loginPassword"]=='') 
    die('{code:"FAIL"}'); 
if($_POST["force"]=='') 
    $_POST["force"] = false; 

$data_string = "foce=".$_POST["force"]."&loginUserName=".$_POST["loginUserName"]."&loginPassword=".$_POST["loginPassword"]; 
$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL,"http://connected.mcgraw-hill.com/connected/login.do"); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec($ch); 
die($result); 

>

내가 웹 사이트에 매개 변수를 보낼 때, 그것은 나에게 두 JSON 인코딩 된 매개 변수를 제공합니다, 첫 번째 : 로그인 상태, 두 번째는 로그인에 성공할 경우 사용자가 이동해야하는 URL입니다. 그것은 사용자/패스를 보내면 리다이렉트 URI를 얻을 수 있지만 사용자를 리디렉션하고 싶을 때 사용자 계정 영역에 로그인하려는 동안 첫 번째 McGrawhill 로그인 페이지로 전달합니다. 아무도 나를 도울 수 있습니까?

+0

한 가지 유스 케이스뿐만 아니라 후손을 위해 신중하게 총칭하여 질문을 작성하십시오. – halfer

답변

1

로그인 할 때 원격 서버는 사용자가 로그인해야하는 개인 페이지에 액세스하기 위해 다시 사용해야하는 세션 쿠키를 보냅니다. 브라우저를 사용하는 사람이 로그인하면이 세션이 정상적으로 작동합니다 쿠키가 설정되면 재사용되어 해당 개인 페이지에 액세스합니다.

그러나 PHP 스크립트를 사용하여 로그인하는 경우 실제로는 세션 쿠키 (그리고 스크립트 사용자가 아닌)를 가져 오는 PHP 스크립트입니다. 즉, 사용자를 개인 페이지로 리디렉션하면 세션 쿠키가 없기 때문에 작동하지 않습니다.

PHP 스크립트에서 세션 쿠키를 설정하는 방법이 없다고 생각합니다. 따라서 당신의 아이디어는 효과가 없을 것입니다.

관련 문제