gpt4 book ai didi

php - 尝试在 Facebook 应用程序中提交表单时出现 HTTP 404 错误

转载 作者:可可西里 更新时间:2023-11-01 17:14:59 29 4
gpt4 key购买 nike

我正在构建一个 Facebook 调查,其中每个随机选择的 friend 有多个问题。

我这样做的方法是向一位 friend 展示一个 php 页面以及他/她的问题

当用户提交时,它应该发布到同一个 php 页面,但带有一个数组,其中包含左侧要显示的 friend 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,但我在生成的 url 中没有看到它,有人可以解释为什么吗?
  2. 我该如何解决这个问题?如果不能,请推荐一个替代方案?

感谢一百万!

最佳答案

看起来您的 $html 中有一个额外的 就在 ?idArray= 之前。这就是您在 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';

关于php - 尝试在 Facebook 应用程序中提交表单时出现 HTTP 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5147216/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com