Rand()返回相同的值;在一个隐藏的输入


Rand() returns same value; in a hidden input

由于某些原因,如果我尝试分配一个值给我的输入类型隐藏然后我总是得到相同的值(1),我可以分配一个值给它与javascript,但不是php..:

<?php
 $num = rand(1, 4);                     
?>  
 <?php echo $num; ?><?php echo $num; ?><?php echo $num; ?>
<input type="hidden" value="<?php echo $num; ?>" name="catch_num1">

如果rand给出4,这将给出444,但在输入类型中,它总是给出value="1"??

这对我来说似乎是一个bug,但我检查了所有的代码。

可能是您在调用rand之前设置了常数值http://cz2.php.net/srand in

不可能。rand(min, max) always给出的值介于minmax之间。

你试过rand(4, 14)了吗?它也给你1吗?您确定您回声的$_POST值实际上是这个,而不是另一个?

尝试使用mt_rand()

编辑:嗯,我发现了很多相同问题的结果。但每个人都有自己的理由。

例如,如果你使用的是Firefox,使用CTRL+F5刷新以省略缓存。这个随机数可能被存储在缓存里了?!