Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP刷新倒计时停止在零_Php_Subtraction - Fatal编程技术网

PHP刷新倒计时停止在零

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('

我有一个网站,向新访问者显示一个随机数字,并将该数字存储在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('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);
如果($位置-$减少)