我有这个网站,请参阅,它现在每5分钟生成一个数字,并每隔5秒生成一个较小的数字,并将该数字添加到第一个以给出错觉数量在波动。这可能有助于看到网站。网站上的服务器端随机数生成器
它可能看起来很可笑,它基本上是一个内部笑话。
无论如何,问题是,据我所知,给出的数字是客户端,并且因人而异。是否有可能使其成为服务器端?这样每个同时进入网页的人都会看到相同的号码?
谢谢
我有这个网站,请参阅,它现在每5分钟生成一个数字,并每隔5秒生成一个较小的数字,并将该数字添加到第一个以给出错觉数量在波动。这可能有助于看到网站。网站上的服务器端随机数生成器
它可能看起来很可笑,它基本上是一个内部笑话。
无论如何,问题是,据我所知,给出的数字是客户端,并且因人而异。是否有可能使其成为服务器端?这样每个同时进入网页的人都会看到相同的号码?
谢谢
您可以使用Ajax。 Ajax向服务器发送请求,该服务器将处理该请求并返回响应而不重新加载页面。一个好的教程here.
编辑:试试这个:
<script>
function loadXMLDoc(){
var xmlhttp;
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", "randomnumber.php");
xmlhttp.send();
}
setInterval(function(){loaxXMLDoc()},1000);
</script>
而在PHP:
echo $randomNumber
(我不是一个PHP的人,所以我不知道如何生成随机数字)。
您需要种子随机数发生器,以便php rand()
函数将返回相同的数字给所有访客,直到下一个随机数r被生成。
从服务器使用当前时间time()
$fiveMinSeed = floor(time()/300);
srand($fiveMinSeed);
$firstNumber = rand();
$fiveSecondSeed = floor(time()/5);
srand($fiveSecondSeed);
$secondNumber = rand();
echo $firstNumber + $secondNumber;
这会产生两个不同的种子一个基于将每5分钟更换一次,另一种是每5秒改变。然后使用这些值,您将得到一个“随机”数字,在种子改变之前每个人都是一样的。
您可以使用AJAX请求获取号码并显示在您的页面上。
http://php.net/manual/en/function.srand.php
注:
如果使用mt_rand()
,然后设置种子与mt_srand()
哦,荣誉口袋妖怪摊牌。 (举手击掌) – 2013-08-06 01:22:33