gpt4 book ai didi

php - $_POST 变量在 Chrome 中检测到,但在 Firefox 中未检测到

转载 作者:行者123 更新时间:2023-11-28 02:03:54 26 4
gpt4 key购买 nike

我在一个表单中使用 2 个图像来从数据库中整理查询结果。使用 POST 方法提交表单。当我点击第一张图片时,查询结果必须按升序排序,而当我点击第二张图片时,结果必须按降序排序。这是表单的代码:

 <form name="" action="" method="post">
<input type="hidden" name="typep" value="price" />
<input type="image" name="sort" value="asc" src="images/asc-ar.png" />
<input type="image" name="sort" value="desc" src="images/dsc-ar.png" />
</form>

现在这是检查 $_REQUEST['sort'] 变量是否设置以及因此是否需要排序的代码。

if ($_REQUEST['sort'] != "")
{
$sort = $_REQUEST['sort'];
$typep = $_REQUEST['typep'];
//query to be executed depending on values of $sort and $typep
}

Firefox 确实检测到 $_REQUEST['typep'] 变量但没有检测到 $_REQUEST['sort'] 变量。不过,这在 Chrome 中非常有效。当我在 Firefox 中测试站点时,它没有检测到 $_REQUEST['sort'] 变量,因此 if 条件计算为 false 并且搜索结果没有得到排序。

最佳答案

显然在 HTML5 标准开发的某个时刻,有人认为 input type="image" 的实际值不重要,他们决定不要求浏览器以任何方式提交它: link to specification .

不幸的是,似乎不仅 Firefox 严格遵守规范。 A comment to a bug submitted to the Firefox developers指出在 Opera 和 Internet Explorer 中也观察到了这种行为。

因此,您可以通过检查随表单提交的 .x/.y 坐标来测试图像是否已被单击,但您无法确定两者中的哪一个images 已被点击,因为您无法跨不同的浏览器可靠地接收它的值,并且仍然传递该值的浏览器也可能会遵循规范并在将来的某个时候删除它。您需要以不同方式命名这两个按钮。

关于php - $_POST 变量在 Chrome 中检测到,但在 Firefox 中未检测到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12650971/

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