繁体   English   中英

PHP SQL UPDATE在FF和CHROME中有效,但在IE中不起作用?

[英]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.xupdatebucket.y ,和PHP默默的(和令人沮丧的)改变updatebucket.xupdatebucket_x 。再说,你只需要这一下不同的输入类型=提交/类型=图像元素会改变所采取的行动,否则的以前的解决方案如先前建议的隐藏元素可以。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM