php的if和else为什么会同时执行呢?

输出true的同时,没有输出false,但是数据库里面votes字段值增加了,说明执行了$query,想了半天没整明白,求高手指点if($_GET['id']){if(!... 输出true的同时,没有输出false,但是数据库里面votes字段值增加了,说明执行了$query,想了半天没整明白,求高手指点if($_GET['id']){ if(!$_COOKIE['ip']){ setcookie("ip",$_SERVER['REMOTE_ADDR']); } if($_COOKIE['ip']==$_SERVER['REMOTE_ADDR']){ echo "true"; }else{ echo "false"; $num=intval($_GET['votes'],10)+1; $query=mysql_query("update num set votes='$num' where id='$_GET[id]'"); } } 展开
 我来答
showmest
2014-01-08 · TA获得超过123个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:163万
展开全部
echo "false"; 没执行就说明没进else , 数据库变了肯定是你其它地方还有操作数据库的代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小小幽魂
2014-01-08 · TA获得超过1469个赞
知道小有建树答主
回答量:751
采纳率:100%
帮助的人:688万
展开全部
你这个代码是不是执行了两次?
第一次执行的时候,刚刚注册 COOKIE 这个时候下面的的 $_COOKIE 是无效的。
也就是说,这个时候一定是 false ,并执行了一次更新操作。
你再刷新一次,$_COOKIE 才有效。是上次记录的值。这个时候一定是 true
追问
是这样的,但是关键它输出true的同时$query也执行了,想不通
追答
不是同时,肯定不是同时。。是先执行了 query
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式