欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

chrome浏览器下isset($_POST['submit'])不返回ture

程序员文章站 2022-06-02 07:51:29
...
在IE下能成功,但在chrome下不能,是否是浏览器自身的BUG?


回复讨论(解决方案)

贴代码来。
Chrome浏览器是最遵守W3C标准的了,只能说你的代码有不符合W3C标准的地方

chrome 右键-》审查元素-》NETWORK。查看有关信息。

if(isset($_POST['submit1'])){
echo "You like the following languages:
";
foreach($_POST['lang'] AS $lang){
$lang=htmlentities($lang);
echo "$lang
";
}
}


what's your favorite programming language?


C#

JavaScript

Perl

PHP


代码没有问题,你怎么测试的。chrome 什么版本。

18.0.1025.151 直接chrome查看的

你点提交了吗?

先看看你有没有POST 'submit1' 吧...

嗯啊,IE9是对的,我在想是不是chrome不能通过$_POST返回表单submit的数据类型

你点提交了吗?

有啊

先看看你有没有POST 'submit1' 吧...

怎么个有法?你从哪判断有?

有啊

引用 7 楼 的回复:

先看看你有没有POST 'submit1' 吧...

IE9能够打印出submit后的表单内容,我通过POST方式传递,然后通过$_POST获取的

怎么个有法?你从哪判断有?

引用 9 楼 的回复:

有啊

引用 7 楼 的回复:

先看看你有没有POST 'submit1' 吧...

$_POST['submit1']能够获取到submit1这个字符串

你到gg浏览器里看看有没有 gg的开发人员工具跟一下

$_POST['submit1']能够获取到submit1这个字符串

注意缓存

Chrome是有问题的,但是采用提交按钮的值的做法尽量不要采用。另外如果用javascript的form.submit()的话,IE下也不提交的。建议采用hidden变量。

直接打印$_POST看下有没有

直接打印$_POST看下有没有
+1
你先看看你的$_POST数组是否有值,如果数组为空,那么你的判定肯定是错的,因为都没有这个数组元素存在。而且为了避免重复提交等问题,你还是用javascript提交表单比较好。

我也碰到了同样的问题,通过IE用POST提交数组没有问题,但是chrome不行,用print_r($_POST)看不到提交的数组变量。