PHP刷新倒计时停止在零
我有一个网站,向新访问者显示一个随机数字,并将该数字存储在cookie中 如果用户刷新页面,则会提取cookies值并在显示之前减去1和3之间的随机数 这就是我迄今为止所做的:PHP刷新倒计时停止在零,php,subtraction,Php,Subtraction,我有一个网站,向新访问者显示一个随机数字,并将该数字存储在cookie中 如果用户刷新页面,则会提取cookies值并在显示之前减去1和3之间的随机数 这就是我迄今为止所做的: <?php if (isset($_COOKIE['places'])) { $places=$_COOKIE['places']; $decrease=mt_rand(1, 3); $places=$places-$decrease; $expire=time()+60*60*24*30; setcookie('
<?php
if (isset($_COOKIE['places'])) {
$places=$_COOKIE['places'];
$decrease=mt_rand(1, 3);
$places=$places-$decrease;
$expire=time()+60*60*24*30;
setcookie('places', $places, $expire);
}
else {
$randomString = mt_rand ( 11 , 23 );
$expire=time()+60*60*24*30;
setcookie('places', $randomString, $expire);
$places=$randomString;
}
?>
我的问题是,如果你继续刷新(我怀疑有人会这么做),它会通过0变成负数。我已经浏览了php.net,但找不到阻止这种情况发生所需的解决方案
有什么想法吗?我想我看错了,但是你有没有试着替换:
$places = $places - $decrease;
为此:
if ( $decrease > $places ) {
$places = 0
} else {
$places = $places - $decrease;
}
这应该做到:
<?php
if (isset($_COOKIE['places'])) {
$places=$_COOKIE['places'];
$decrease=mt_rand(1, 3);
$places=$places-$decrease;
if($places < 0)
$places = 0;
$expire=time()+60*60*24*30;
setcookie('places', $places, $expire);
}
else {
$randomString = mt_rand ( 11 , 23 );
$expire=time()+60*60*24*30;
setcookie('places', $randomString, $expire);
$places=$randomString;
}
?>
像这样的东西怎么样?如果$places-$reduce将导致一个负数,请添加该数字。我认为它应该达到你想要的效果
if (isset($_COOKIE['places'])) {
$places=$_COOKIE['places'];
$decrease=mt_rand(1, 3);
if(($places - $decrease) <= 0) {
$places = $places + $decrease;
} else {
$places=$places-$decrease;
}
$expire=time()+60*60*24*30;
setcookie('places', $places, $expire);
}
if(isset($\u COOKIE['places'])){
$places=$_COOKIE['places'];
美元减少=百万兰特(1,3);
如果($位置-$减少)