Witam. Mam do napisania kod PHP który będzie losował przy każdym wejściu użytkownika jedną z 7 stron, zapisywał losowanie w cookie i za każdym kolejny razem mu ją wyświetlał.
Do napisania tego kodu jak poniżej widać użyłem funkcji radn(), z przedziałem od 1 do 7. Te rozwiązanie ma pewną wadę, mianowicie zauważyłem że liczby nie są losowanie "losowo" tylko istnieje pewna tendecja do losowania pierwszych lub ostatnich liczb. Co oznacza że na 10 losowań 3x wylosowało 1, 2x - 2, 2x - 7, 2x - 6 i 1 x 3 lub 4 lub 5 w kolejnych 10 losowaniach.
To co chciał bym zrobić to w jakiś sposób zmienić tą tendencję aby liczby w środku wylosowywały się częściel, w takim samym procentowym prawdopodobieństwie jak reszta liczb bez "faworyzowania" reszty.
Czy ktoś spotkał się już z takim problem lub ma jakieś sensowne rozwiązanie ?
Kod:
<?php
ob_start();
if((isset($_COOKIE['cookieNumber']))){
include('landing'.$_COOKIE[cookieNumber].'/index.html');
} else {
$a = rand(1,7);
echo $a;
switch ($a){
case 1:
include('landing1/index.html');
setcookie('cookieNumber', 1);
break;
case 2:
include('landing2/index.html');
setcookie('cookieNumber', 2);
break;
case 3:
include('landing3/index.html');
setcookie('cookieNumber', 3);
break;
case 4:
include('landing4/index.html');
setcookie('cookieNumber', 4);
break;
case 5:
include('landing5/index.html');
setcookie('cookieNumber', 5);
break;
case 6:
include('landing6/index.html');
setcookie('cookieNumber', 6);
break;
case 7:
include('landing7/index.html');
setcookie('cookieNumber', 7);
break;
}
}
?>