Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Цыкл подвязанный к форме

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Максим21
Отправлено: 16 Июля, 2010 - 11:19:17
Post Id



Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




Добрый день!
Создается обычный тест.
И вот я не могу понять как это правильно написать так что б после нажатие кнопки отправить подставлялись новые варианты ответов если был выбран один из вариантов.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $dc=mysql_connect ("localhost","maxim","maxim");
  3. mysql_select_db ("Victorina", $dc);
  4. $ne=0;
  5. $us_otvet=$res[0];
  6. echo "ПРАВИЛЬНЫЙ ОТВЕТ В БД  -".$row[otvet]."<br>";
  7. echo "пользоваетль-".$users."<br>"."пароль-".$userss." <br>";
  8. echo "ответ пользователя  -".$us_otvet[0],$us_otvet[1],$us_otvet[2]."<br>";
  9.  
  10. $result=mysql_query ("SELECT vopros,otvet1,otvet2,otvet3,otvet4,otvet FROM vika LIMIT 2",$dc);
  11. /*for ($i=0; $i<mysql_num_rows($result); $i++)*/
  12. $row=mysql_fetch_assoc($result);
  13.  
  14. echo " ПРАВИЛЬНЫЙ ОТВЕТ ".$row[otvet]."<br>";
  15. if ($row[otvet]==$us_otvet=$res[0])
  16. {
  17. $prav_user_otvet=$us_otvet;
  18. echo " ОТВЕТ ПОЛУЧЕН ПРАВИЛЬНЫЙ "."<br>";}
  19. else
  20. {
  21. echo "ОТВЕТ ПОЛУЧЕН  НЕ ПРАВИЛЬНЫЙ";
  22. }
  23. echo
  24.  
  25.    " <BODY>
  26.  
  27.    <FORM action='' method='post' >
  28.        <table width='200' name='max'>
  29.        <tr>
  30.       <td><label>
  31.      <input type='radio' name='res' value='1' id='1'>
  32.    '{$row['otvet3']}' </label></td>
  33.        </tr>
  34.        <tr>
  35.          <td><label>
  36.            <input type='radio' name='res' value='2' id='2'>
  37.             '{$row['otvet1']}' </label></td>
  38.        </tr>
  39.        <tr>
  40.          <td><label>
  41.            <input type='radio' name='res' value='3' id='3'>
  42.             '{$row['otvet2']}'</label></td>
  43.        </tr>
  44.      </table>
  45.     <INPUT name='send' type='submit' value='отправить'>
  46.              </FORM> ";
  47. ?>
  48. <?PHP
  49. $result_otvet= mysql_query("UPDATE `vika_users` SET `prav`='$prav_user_otvet'WHERE `user`='$users'");
  50. ?>
  51. <BR>
 
 Top
Реф
Отправлено: 16 Июля, 2010 - 12:11:30
Post Id



Частый гость


Покинул форум
Сообщений всего: 159
Дата рег-ции: Июль 2010  
Откуда: Реутов, Россия


Помог: 0 раз(а)




Ну порядок действий может быть следующим: форма отправляется на туже страницу (сделать не сложно с помощью элемента суперглобального массива $_SERVER['PHP_SELF']), также например методом GET передать номер очередного вопроса. Соответственно в базе данных осуществлять поиск вопроса по конкретному номеру.


-----
Думать надо головой, а не головкой!
 
 Top
JustUserR
Отправлено: 16 Июля, 2010 - 14:54:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Максим21 пишет:
И вот я не могу понять как это правильно написать так что б после нажатие кнопки отправить подставлялись новые варианты ответов если был выбран один из вариантов
Для огранизации интерактивного процесса ответа на вопрос и загрузки нового списка вопросов -можете реализовать статическую HTML-страницу с JS-скриптом и динамической передачей данных на web-сервер с помощью Iframe/AJAX Это позволяет не только осуществлять взаимодействие пользователя с web-сайтом без перезагрузки страницы с возможностью отображения прогресс-бара - но позволяет хранить временные данные на стороне клиента в JS-скрипте


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Максим21
Отправлено: 16 Июля, 2010 - 15:28:52
Post Id



Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




Да тут хоть бы с PHP разобраться.
Мне можно что б страница и перезагружалась.
Вот я сделал пример по четабельней и у простил что б можно было решить эту задачу.
нужно что б просто проверял переменную которая будет ответом пользователя и если пользователь ответил и нажал отправить то страница пусть перезагружается и новые вопросы выдает ну вот пытаюсь на более простом примере сделать это.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset ($_POST['res']))
  4. $res=$_POST['res'];
  5. ?>
  6. <?PHP
  7. $max[]=0000;
  8. $max[]=1111;
  9. $max[]=2222;
  10. $max[]=3333;
  11. $max[]=4444;
  12. $max[]=5555;
  13. $max[]=6666;
  14. $max[]=7777;
  15. $max[]=8888;
  16. /*
  17. foreach ($max as $key)
  18. {
  19. echo " ключ ".$key." переменная ".$value."<br>";
  20.  
  21. }*/
  22.  
  23.  
  24. function trex($otvet)
  25. {
  26. if ($otvet>0)
  27. {
  28.  
  29. for($i=0;$i<=6;$i++)
  30. {
  31. global $max;
  32. $i=$i++;
  33. echo $i."<br>";
  34.    echo $b=next($max)."<br>";
  35.    echo
  36.  
  37.    " <BODY>
  38.  
  39.    <FORM action='' method='post' >
  40.        <table width='200' name='maxx'>
  41.        <tr>
  42.       <td><label>
  43.      <input type='radio' name='res' value='1' id='1'>
  44.    'vopros $b </label></td>
  45.        </tr>
  46.        <tr>
  47.          <td><label>
  48.            <input type='radio' name='res' value='2' id='2'>
  49.             'vopros $b </label></td>
  50.        </tr>
  51.        <tr>
  52.          <td><label>
  53.            <input type='radio' name='res' value='3' id='3'>
  54.             'vopros $b</label></td>
  55.        </tr>
  56.      </table>
  57.     <INPUT name='send' type='submit' value='отправить'>
  58.              </FORM> ";
  59.    
  60.    
  61.   if ($i==0)
  62.   {echo "Достигло двух"."<br>";
  63.  break;
  64.     }
  65. }
  66. }
  67. }
  68.  
  69. echo trex ($res);
  70. echo "OTVET ".$res[0],$res[1],$res[2];
  71.  
  72. ?>
  73. </BODY>
  74. </HTML>
  75.  
  76.  
  77.  



получаеться функция next не запоминает где находиться указатель в массиве.


Заранее благодарен!
 
 Top
JustUserR
Отправлено: 16 Июля, 2010 - 16:07:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Максим21 пишет:
Получаеться функция next не запоминает где находиться указатель в массиве
Между вызовами различных инстанций PHP-скрипта никакие обычные переменные и внутренние индексы для нех не сохраняют свое значение - для этой цели нужно использовать механизм сессий или хранение информации у клиента как было предложены выше


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Максим21
Отправлено: 16 Июля, 2010 - 19:59:23
Post Id



Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




Спасибо.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB