усмирить Rand! (php)
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
усмирить Rand! (php) - 2009-05-18 15:46:07.463333
|
|
|
Liza_k
Сообщений: 3
Оценки: 0
Присоединился: 2008-11-22 21:32:30.276666
|
Помогите пожалуйста усмерить функцию ранд в php Короче делаю тест где должно быть 4 варианта ответа и один ответ. Я разбила странички с вопросами и вариантами ответа по разным страничкам и после каждого ответа человека редиректит на index.php где висит такой код <? $b = rand(1,4); header("Location:./$b.php"); ?> но как мне сделать так, чтобы странички (тобишь вопросы не повторялись)?
|
|
|
RE: усмирить Rand! (php) - 2009-05-18 15:51:11.913333
|
|
|
Agent Smith
Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
|
вообще юзай лучше mt_rand, вероятность повтора в ней на много меньше а конкретно, записывай посещенные страницы в кукис или лучше (на мой взгляд) в сессию. $otkritie = array("1","2"….);//вытягивается с сессии или с кукис do {$b = mt_rand(1,4); } While (!in_array($b,$otkritie); $otkritie[]=$b; //прописываеш масив в сессию или в кукис и header("Location:./$b.php");
|
|
|
RE: усмирить Rand! (php) - 2009-05-18 15:52:23.953333
|
|
|
Pashkela
Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
|
если для одного человека уникально - то session_start() http://ru2.php.net/function.session-start Но вам еще рановато, хотя почитайте
|
|
|
RE: усмирить Rand! (php) - 2009-05-18 16:01:29.070000
|
|
|
Liza_k
Сообщений: 3
Оценки: 0
Присоединился: 2008-11-22 21:32:30.276666
|
Спасибо за session_start() =) Но к сожалению это не поможет с тем, что ранд всеравно кидается одними и теми же тестами(значениями)
|
|
|
RE: усмирить Rand! (php) - 2009-05-19 12:06:10.560000
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
1. Заводишь массив с индексами 1..N, значения которого – номера вопросов которые ещё не выпадали 2. Берёшь случайное число n в диапазоне 1..N 3. Выдаёшь юзверю n-ный элемент массива. Не забыв при этом удалить этот элемент из массива и перенумеровать элементы так, чтобы они нумеровались числами 1..N-1. Каким образом передавать изменённый массив уже объяснили, хоть об этом, как я понимаю и не спрашивалось ;)
|
|
|
|
|