2013-08-25 47 views
0

我想使用PHP登錄McGrawhill網站,然後將用戶重定向到他們的帳戶區域。我創建了一個簡單的登錄頁面的HTML我的UI,這是我的PHP部分:使用PHP登錄McGrawhill網站使用PHP

<?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編碼參數,第一:登錄狀態,第二個是用戶登錄成功後應該去哪裏的URI。它在我發送用戶/密碼時正常工作,我可以獲得重定向uri,但是當我想重定向用戶時,它會將我轉到第一個McGrawhill登錄頁面,同時我想登錄到用戶帳戶區域。有誰能夠幫助我 ?

+0

請小心謹慎地寫出問題的答案,因爲它們是爲了後代,而不僅僅是一個用例。 – halfer

回答

1

當您登錄,遠程服務器發送你,你應該以訪問需要用戶登錄的專用頁面。當用戶使用瀏覽器登錄時,該工作正常,會話重用會話cookie cookie被設置,然後被重用來訪問這些私人頁面。

但是,當您使用您的PHP腳本登錄時,它實際上是您的PHP腳本獲取會話cookie(而不是腳本的用戶),這意味着如果您將用戶重定向到專用頁面,將無法工作,因爲他們沒有他們的會話cookie。

我不認爲有一種方法來設置在PHP腳本的會話cookie,那麼你的想法是行不通的。