2011-02-28 7 views
1

무작위로 선택한 친구 당 여러 개의 질문이있는 Facebook 설문 조사를 작성 중입니다.페이 스북 앱에서 양식을 제출할 때 HTTP 404 오류가 발생합니다.

그렇게 내 방법은 하나의 친구와 그/그녀의 질문에

사용자가 전송할 때, 그것은으로 왼쪽 포함하는 배열 같은 PHP 페이지에 있지만 함께 게시해야와 PHP 페이지를 표시하는 것입니다 표시된 친구 ID.

이 나는 ​​등의 건축과 관련 코드가 있습니다 :

home.php을 - 설문 조사를

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

Q를 관리 - 페이스 북에

framing.php를 기록. PHP - 데이터베이스에서 현재 조사를 가져 와서 html로 조작하는 함수를 포함합니다.

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

문제가 페이스 북의이 같은 오류를 반환한다는 것입니다 :

Received HTTP error code 404 while loading http://www.mydomain.com/%7D?idArray=757010120%... 
  1. 내가 framing.php에서 PHP_SELF에 대해 요구하고 있지만를, 나는 그것을 볼 수 없습니다 생성 된 URL, 누군가 이유를 설명해 주시겠습니까?
  2. 어떻게 해결할 수 있습니까? 그렇지 않다면 대안을 제안 할 수 있습니까?

감사합니다. 당신이 바로 ?idArray= 전에 $의 HTML에 추가 }을 가지고있는 것처럼

답변

2

보인다. Facebook에서 반환 된 오류에 표시되는 %7D입니다.

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

또한 $_SERVER['PHP_SELF']에 실제로 값이 포함되어 있는지 확인해야합니다. 서버에서 비어있는 것 같습니다. 현재 실행중인 스크립트의 이름을 얻는 몇 가지 다른 방법이 있습니다. 테스트를 위해 스크립트가 실제로 작동하는지 확인하기 위해 $_SERVER['PHP_SELF']을 PHP 스크립트의 하드 코드 된 이름으로 바꿀 수 있습니다.

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

감사합니다. 내 나쁜 ... – Yoni

관련 문제