Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывод случайной страницы
 
 автор: chubakka   (07.03.2008 в 21:42)   письмо автору
 
 

Подскажите, как сделать: чтоб после того, как пользователь нажмет кнопку - загружалась случайная страница (из 5).

   
 
 автор: cheops   (07.03.2008 в 21:47)   письмо автору
 
   для: chubakka   (07.03.2008 в 21:42)
 

Можно поступить следующим образом
<?php
  
// Пути к страницам в массиве
  
$arr[] = "index1.php";
  
$arr[] = "index2.php";
  
$arr[] = "index3.php";
  
$arr[] = "index4.php";
  
$arr[] = "index5.php";
  
// Случайный индекс массива
  
$index rand(0count($arr) - 1);
  
// Переадресация на случайную страницу
  
header("Location: {$arr[$index]}");
?>

   
 
 автор: chubakka   (07.03.2008 в 22:08)   письмо автору
 
   для: cheops   (07.03.2008 в 21:47)
 

а можно ли сделать так, чтоб страницы не повторялись, пока не закончится их количество. Например, 3524125341, а не 4142332

   
 
 автор: cheops   (07.03.2008 в 22:12)   письмо автору
 
   для: chubakka   (07.03.2008 в 22:08)
 

Ммм.. с этим сложнее, но можно поколдовать через сессию... было бы удобнее, если вы описали бы задачу целиком (может что-то попроще на ум придёт), что отображается пользователю?

   
 
 автор: chubakka   (08.03.2008 в 13:38)   письмо автору
 
   для: cheops   (07.03.2008 в 22:12)
 

Я разрабатываю для своих учеников учебные тесты. Хочу это реализовать на компьютере, так как на бумаге есть вероятность списывания.

Пользователь видит страницу с вопросом + плюс форма для ввода ответа + кнопка
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<body>
Вопрос: Столица России?

<form name="form1" method="post" action="test.php"  >
  <p>Введите ответ<br>
    <input type="text" name="otvet" >
  </p>
  <p>
    <input type="submit" name="submit" value="Проверить">
  </p>
</form></body>
</html>


Обработчик
<?php 
$ball
=0;
if (
strtolower($_POST['otvet']) == 'москва') echo 'Правильно'; else echo 'Неправильно';
if (
strtolower($_POST['otvet']) == 'москва'$ball++; else  $ball+0;
echo 
$ball;
?>
<form name="form1" method="post" action="random.php">
<input name="next" type="submit" value="next"></form>

Перенаправление на случайную страницу
<?php 
 
  $arr
[ ] = "random1.php"
  
$arr[ ] = "random2.php"
  
$arr[ ] = "random3.php"
  
$arr[ ] = "random4.php"
  
$arr[ ] = "random5.php"
  
  
$index rand(0count($arr) - 1); 
  
header("Location: {$arr[$index]}"); 
?>


Нужно сделать так, чтоб случайные страницы не повторялись, и если можно чтобы баллы подсчитывались автоматически. Может реализацию нужно делать с базами MySQL?

   
 
 автор: cheops   (08.03.2008 в 14:27)   письмо автору
 
   для: chubakka   (08.03.2008 в 13:38)
 

Хм... тогда массив $arr удобнее поместить в сессию, передварительно перемешав его при помощи функции shuffle(). А по мере ответов увеличивать индекс при помощи которого осуществляется обращение к массиву.

   
 
 автор: chubakka   (08.03.2008 в 14:42)   письмо автору
 
   для: cheops   (08.03.2008 в 14:27)
 

А не подскажете код?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования