如题,代码如下:
<?
if(1>=0)
{
echo '<script>alert("1大于0,所以停止执行!");window.location="aaaa.php";</script>';
}
else
{
echo '111111';}
for($i=0;$i<9;$++)
{
echo $i;
}
?>
在以上代码中,执行了alert();这个部分之后,还会执行下面的FOR循环,这是怎么回事呢?
<?
if(1>=0)
{
echo '<script>alert("1大于0,所以停止执行!");window.location="aaaa.php";</script>';
}
else
{
echo '111111';}
for($i=0;$i<9;$++)
{
echo $i;
}
?>
在以上代码中,执行了alert();这个部分之后,还会执行下面的FOR循环,这是怎么回事呢?
想他不執行就在location那句後面,給個return 唄。
<?
if(1>=0)
{
echo '<script>alert("1大于0,所以停止执行!");window.location="aaaa.php";</script>';
return;
}
else
{
echo '111111';}
for($i=0;$i<9;$++)
{
echo $i;
}
?>
说明LZ不够理解后台与前台之间的关系后台(PHP,ASP,JSP,ASPX.....等等任何后台)把一些HTML代码组织完成以后(包括所有的javascript代码),发送到浏览器(IE,Firefox,Chrome....等等任何浏览器),然后浏览器才会去展示或执行这些东西。如果不的话,后台返回的所有东西,你仅仅可以把它看作一个字符串而已,没什么神密的,后台返回的东西,就只是一些字符串,或者二进制内容(比如图片)。
关键是浏览器拿这些字符串来怎么显示而已。而javascript,是浏览器拿到一个字符串以后,拿来执行而已。所以后台返回什么,不管怎么烂的代码,都不可能停下。后台返回的东西,烂,还是不烂,是浏览器来判断的
if(1>=0)
{
echo '<script>alert("1大于0,所以停止执行!");window.location="aaaa.php";</script>';
exit();
}
else
{
echo '111111';}
for($i=0;$i<9;$++)
{
echo $i;
}
?>