尝试在Facebook应用中提交表单时出现HTTP 404错误
问题描述:
我正在构建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%...
- 虽然我询问有关framing.php的PHP_SELF,我没有看到它在生成的网址,有人可以解释为什么?
- 我该如何解决这个问题?如果不是,你可以请建议一个替代?
非常感谢!
答
看起来你以前?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';
谢谢:)我的坏... – Yoni 2011-03-01 19:18:27