![](/img/trans.png)
[英]PHP Self Submitting Form Works in FF and Chrome but not IE (404 error)
[英]PHP SQL UPDATE works in FF and CHROME but not in IE?
下面的代码在FF和CHROME中完美运行,但在IE中则不行。 请帮忙。 我已经注释掉了我的santize函数,因为我认为它们可能会影响它,但是它仍然可以实现同样的功能。 提前感谢您的任何帮助。
<?php
//IF UPDATE BUCKET CHANGE STATUS...
if(isset($_POST['updatebucket'])){
$complete = $_POST["complete"];
$bucketid = $_POST["bucketid"];
//$complete = sanitizeone($_POST["complete"], "plain");
//$complete = strip_word_html($complete);
//$bucketid = sanitizeone($_POST["bucketid"], "plain");
//$bucketid = strip_word_html($bucketid);
if ($complete=="1")
$complete = "0";
else
$complete = "1";
$updatebucket = "UPDATE membersbuckets SET complete = '$complete' WHERE userid = '$userid' AND bucketid = '$bucketid'";
mysql_query($updatebucket);
}
?>
和前端...。
<? if ($complete=="1") {
echo "<form action='' method='post' name='updatebucket'><input name='complete' type='hidden' value=" .$complete. " /><input name='userid' type='hidden' value=" .$userid. " /><input name='bucketid' type='hidden' value=" .$bucketid. " /><input type='image' name='updatebucket' value='updatebucket' src='images/tick.png' /></form>";
}else{
echo "<form action='' method='post' name='updatebucket'><input name='complete' type='hidden' value=" .$complete. " /><input name='userid' type='hidden' value=" .$userid. " /><input name='bucketid' type='hidden' value=" .$bucketid. " /><input type='image' name='updatebucket' value='updatebucket' src='images/cross.png' /></form>";
}
?>
担
您应该发布前端,而不是后端(因为它与浏览器无关)。
您的HTML可能无效。
编辑:
是的,IE对于输入的图像类型没有价值。 它仅发送x&y(field_name_x,field_name_y),并且完全丢弃原始的“ value”属性。
请尝试使用隐藏的输入。
从IE使用时, input type='image'
似乎不发送该值。 您将需要另一个隐藏字段:
<input type='hidden' name='updatebucket' value='updatebucket' />
<input type='image' src='images/tick.png' />
这样,无论使用什么浏览器,都会将updatebucket
参数发布到服务器。
这里的假设是,所有浏览器都以相同的方式处理HTML表单(并且它们不这样做); 这就是为什么我会保留Eric Lawrence出色的Fiddler的原因-它可以区分两个HTTP请求,因此您会立即看到浏览器之间的区别。
另一种方法是检查$_POST[{image-element-name}_x}]
(在本例中$_POST['updatebucket_x']
。所有浏览器都将图像元素的x / y坐标作为updatebucket.x
。 updatebucket.y
,和PHP默默的(和令人沮丧的)改变updatebucket.x
到updatebucket_x
。再说,你只需要这一下不同的输入类型=提交/类型=图像元素会改变所采取的行动,否则的以前的解决方案如先前建议的隐藏元素可以。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.