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]   

> Описание: Помогите, пожалуйста, разобраться, как заставить правильно работать опрос
peacekeeper
Отправлено: 10 Апреля, 2015 - 17:25:28
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2015  


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




Уважаемые форумчане!

Пытаюсь разобраться в дебрях и хитросплетениях php<->html, но запутался в своих поисках.

Набросал вот такой код:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP                                                                                
  3.         $fp=fopen("test0001.txt","r"); //open file on read
  4.  
  5.         while (!feof($fp)){    
  6.         $test[fgets($fp)] = fgets($fp); //read file(key and value) to array $test
  7.         }
  8.        
  9.         foreach ($test as $key => $value)
  10.                 {
  11.                 echo "<form name=\"answ\" method=\"post\">";
  12.                 echo $key."<br /><br />";
  13.  
  14.                 $variants = explode(",", $value);
  15.                         for ($i=0;$i < count($variants); $i++)
  16.                                 {
  17.                                 echo '<input type="radio" name="res" value='.$i.' />'.$variants[$i];
  18.                                 }
  19.                 echo "<br /><br />";
  20.  
  21.                 echo "<input type=\"submit\" name=\"submit\" value=\"Next>>\">";
  22.                 echo "<br /><br />";
  23.                    
  24.  
  25.                 echo "</select>";
  26.                 echo "</form>";
  27.                 }
  28. ?>
  29.  


т.е. мы читаем в массив содержимое файла:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. Лошадь : Жеребенок = Корова : ?
  3. Пастбище, Рога, Молоко, Теленок, Бык
  4. Тонкий : Толстый = Безобразный : ?
  5. Красивый, Жирный, Грязный, Урод, Веселый
  6.  
  7.  

(кусок)
потом его надо вывести в режиме опросника, что я и делаю циклом, с попутным разбиениес строки.

в данном, коде, совершенно естественно, все выводится в окно разом.
А как сделать поэтапно?
Я предполагаю, что это должно быть просто и изящно, но это "просто и изящно" никак не укладывается в моей голове...

"Помогите, кто может... кто может..., помогите"(с) Тайна третьей планеты

ps не делал пока подсчет результатов, т.к. застопорился на их получении...
 
 Top
Faraon-san
Отправлено: 10 Апреля, 2015 - 17:43:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


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




PHP:
скопировать код в буфер обмена
  1. //open file on read
  2. $file = file_get_contents('test0001.txt');
  3.  
  4. $file = explode(PHP_EOL, $file);
  5.  
  6. $data = '<form name="answ" method="post">';
  7. for($i = 0; $i < count($file); $i += 2)
  8. {
  9.         $data .= $file[$i];
  10.         $data .= '<br><br>';
  11.         foreach(explode(',', $file[$i+1]) as $value)
  12.         {
  13.                 $data .= '<input type="radio" name="res'.$i.'" value='.trim($value).'>'.$value;
  14.         }
  15.         $data .= '<br><br>';
  16. }
  17. $data .= '<br><br>';
  18. $data .= '<input type="submit" name="submit" value="Next">';
  19. $data .= '<br><br>';
  20. $data .= '</select>';
  21. $data .= '</form>';
  22.  
  23. echo $data;

(Отредактировано автором: 10 Апреля, 2015 - 17:44:59)

 
 Top
peacekeeper
Отправлено: 10 Апреля, 2015 - 18:09:21
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2015  


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




Faraon-san пишет:
PHP:
скопировать код в буфер обмена
  1. //open file on read
  2. $file = file_get_contents('test0001.txt');
  3.  
  4. $file = explode(PHP_EOL, $file);
  5.  
  6. $data = '<form name="answ" method="post">';
  7. for($i = 0; $i < count($file); $i += 2)
  8. {
  9.         $data .= $file[$i];
  10.         $data .= '<br><br>';
  11.         foreach(explode(',', $file[$i+1]) as $value)
  12.         {
  13.                 $data .= '<input type="radio" name="res'.$i.'" value='.trim($value).'>'.$value;
  14.         }
  15.         $data .= '<br><br>';
  16. }
  17. $data .= '<br><br>';
  18. $data .= '<input type="submit" name="submit" value="Next">';
  19. $data .= '<br><br>';
  20. $data .= '</select>';
  21. $data .= '</form>';
  22.  
  23. echo $data;


Спасибо за ответ.
Единственно, что я, возможно не совсем корректно объяснил...

Мне надо, чтобы на экран вышло:


Лошадь : Жеребенок = Корова : ?

  • Пастбище
  • Рога
  • Молоко
  • Теленок
  • Бык


Next>>>

Человек выбрал подходящий(недостающий) элемент, нажал "Next>>>" и перешел к следующему варианту ответа(на дизайн внимания не обращаем, я еще не освоился)).

А ваш код у меня тоже на экран все разом выводит, только без "некстов"...
 
 Top
peacekeeper
Отправлено: 11 Апреля, 2015 - 06:55:15
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2015  


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




Уважаемые гуру форума!

Я занимаюсь освоением пхп ~полтора месяца в свободное от работы и семьи время. Сам для себя, под своим руководством).
Читаю учебники, сочиняю себе задачки.

Эту задачку я сочинил себе две недели назад, но так и не смог найти решение. Пользовался поиском и на форуме и в гугле. Возможно я некорректно формулировал вопрос, но так и не нашел ответа, которым смог бы воспользоваться.

Я поставил себе почти амбициозную задачу, за предстоящие два месяца достигнуть уровня junior)). Но читая одни учебники, без общения со специалистами в данной теме, это весьма затруднительно сделать. Надеюсь стать активным участником форума и со временем начать не только задавать вопросы, но и отвечать на них.

С огромной признательностью выслушаю ваши советы и рекомендации, как по вопросу связанному с задачкой, так и по вопросу, на что в теории/практике делать упор, а также по стилю написания.
 
 Top
DeepVarvar Супермодератор
Отправлено: 11 Апреля, 2015 - 08:22:17
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




peacekeeper пишет:
два месяца
peacekeeper пишет:
junior
Доооо. Того же плана http://apikabu[dot]ru/img/ZjdlZm[dot]png
peacekeeper пишет:
выслушаю ваши советы
Я бы положил каждый вопрос-ответ в отдельный файл.
Это значит, что в таком отдельном файле можно еще и правильный ответ сохранить, или даже баллы для каждого из вариантов.
Тогда кнопка Next будет просто указывать некий параметр, например имя следующего файла.
Это значит, что можно сделать еще и отдельный файл, который будет описывать только порядок вопросов.
Это значит можно сделать любое кол-во таких файлов содержащих разные списки вопросов.
 
 Top
peacekeeper
Отправлено: 11 Апреля, 2015 - 13:12:32
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2015  


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




DeepVarvar пишет:
peacekeeper пишет:
два месяца
peacekeeper пишет:
junior
Доооо. Того же плана http://apikabu[dot]ru/img/ZjdlZm[dot]png
peacekeeper пишет:
выслушаю ваши советы
Я бы положил каждый вопрос-ответ в отдельный файл.
Это значит, что в таком отдельном файле можно еще и правильный ответ сохранить, или даже баллы для каждого из вариантов.
Тогда кнопка Next будет просто указывать некий параметр, например имя следующего файла.
Это значит, что можно сделать еще и отдельный файл, который будет описывать только порядок вопросов.
Это значит можно сделать любое кол-во таких файлов содержащих разные списки вопросов.


Радость Спасибо! Юмор оценил)!
Я понимаю, что цель освоить пхп от и до за ~3,5 месяца нереальна). С учетом того. что надо, по-хорошему, разобраться, хоть и базово, с хтмл, сиэсэс, майэскюэль, яваскрипт). Еще и, по-возможности, зацепить постгри и перл)). Но хотя бы приблизиться к тому уровню, от которого можно начинать считаться джуниором, надеюсь, можно).
Посмотрим, "попытка, не пытка"). Не получится - будет все равно полезный опыт.

Большое спасибо за совет с отдельными файлами, теперь знаю какое направление правильное и куда копать!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB