2011-02-28 90 views
1

我正在構建Facebook調查,其中每個隨機選定的朋友有多個問題。嘗試在Facebook應用中提交表單時出現HTTP 404錯誤

我這樣做的方法是顯示一個PHP頁面與一個朋友和他/她的問題

,當用戶提交,就應該張貼到相同的PHP網頁,但與數組包含左邊是顯示朋友ID。

這是我有這樣的架構和相關代碼:

home.php - 登錄到Facebook的

framing.php - 管理調查

$idArray = friends id array... 
$pageToReturnTo = $_SERVER['PHP_SELF']; 
$q_html = questionnaire($idArray,$pageToReturnTo); 

Q值。 PHP的 - 包含一個函數,從數據庫中獲取當前調查並將其操作爲html

function questionnaire($idArray,$pageToReturnTo){ 
... 
$idArray_imploded = implode(",",$idArray) 
$html .= "<form method='POST' action='".$pageToReturnTo."}?idArray=".$idArray_imploded."'> 
.... 
return $html; 
} 

問題是,Facebook的返回這樣的錯誤:

Received HTTP error code 404 while loading http://www.mydomain.com/%7D?idArray=757010120%... 
  1. 雖然我詢問有關framing.php的PHP_SELF,我沒有看到它在生成的網址,有人可以解釋爲什麼?
  2. 我該如何解決這個問題?如果不是,你可以請建議一個替代?

非常感謝!

回答

2

看起來你以前?idArray=權在你的$ HTML額外}。這是%7D,你在從Facebook返回的錯誤中看到。

$html .= "<form method='POST' action='".$pageToReturnTo."?idArray=".$idArray_imploded."'> 

此外,您應該檢查以確保$_SERVER['PHP_SELF']實際上包含一個值。它看起來可能在你的服務器上是空的。還有其他一些方法可以獲取當前正在運行的腳本的名稱。爲了測試,您可以用php腳本的硬編碼名稱替換$_SERVER['PHP_SELF'],以確保您的腳本實際上正在工作。

// $pageToReturnTo = $_SERVER['PHP_SELF']; 
$pageToReturnTo = 'myscript.php'; 
+0

謝謝:)我的壞... – Yoni 2011-03-01 19:18:27

相關問題