ОК! Щаз попробую, а то тыкаюсь, одни ошибки сыпятся... ---- Вообщем, заработало, но после вопроса выводится Array { тут тоже выводится разное после наатия на субмит } И как же сделать случайный вывод вопросов???
Нет, там написано "Если нет $_POST['submit_1'] И нет $_SESSION['quest_1'], тогда..." Если хотя-бы одно что-то будет, то условие не сработает. Пиши or вместо &&.
ну хор, попробую! Как скриптик поправить чтоб вопросы были вразноброс ??? Нужно чтобы вопросов было скажем 10 и они выводились в случайном порядке НЕ ПОВТОРЯЯСЬ........... Можно как то прикрутить к этому скрипту или другой нужен??? ВСЕМ СПС!!!
PHP: <?php $questions = array("вопрос 1", ..., "вопрос 10"); ?> <form action="questions.php" method="post"> <? if (!isset($_SESSION['cur'])){ session_start(); $_SESSION['cur'] = 0; } $cur = intval($_SESSION['cur']); echo "Вопрос #".($cur+1).": <br>"; echo $questions[$cur]; $_SESSION['cur'] = $cur+1; ?> Ответ: <input type="text" name="answer"> <? if ($cur < 10) { ?> <input type="submit" name="next" value="Следующий вопрос"> <? } else { ?> <input type="submit" name="end" value="Готово"><? } ?> </form> <? if (isset($_POST['next'])){ $_SESSION['answers'][$cur-1] = $_POST['answer']; } if (isset($_POST['end'])){ //Действия } ?> Возможно есть ошибки, с телефона набирал
Орет что хидер и сессия уже отправлены, открыта... В строке: ... if (!isset($_SESSION['cur'])){ session_start(); $_SESSION['cur'] = 0; ...
просьба к гуру, народ дайте скриптик рабочий т.е. тут уже есть рабочий, но не работают до конца! Буду ОЧЕНЬ благодарен за помощь...!!!!!!!!!!!!!!!!
PHP: <?php ssesion_start(); $f = pars_ini_file("путь к файлу",true); $n = count($f); if(!isset($_GET['go'])): ?> <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>" method="GET"> <?php for($i=0;$i<10;$i++){ mt_srand(doubleval(microtime()) * 100000000); //Настройка начального значения $num = mt_rand(1,$n); echo $f[$num]; echo "<select name=\"{$i}\" size = \"1\"\n> <option>Колбаса</option> ...... и т.д"; } echo "<input type=\"submit\" name=\"go\" value=\"Submit\">"; echo "</form>"; endif; ?> Выбор вопроса из файла .ini в разброс
В любом случае уже отправлена PHP: <?php $questions = array("вопрос 1", ..., "вопрос 10"); ?> [b]<form action="questions.php" method="post">[/b] <? if (!isset($_SESSION['cur'])){
а как в ini файле вопросы перечислить? так: вопрос 1; вопрос 2; вопрос 3; ... и т.д. и как определить правельный ответ на каждый вопрос? т.е. нужно чтобы на каждый вопрос были скажем по 5ть вариантов ответа, с 1м верным! это можно сделать с этим скриптом?
Да нет это уже почитате о структуре ini файлов, они не тяжёлые. Там в структуре всё и увидите как раз подходит под Вашу проблемку. Только вот ответы наверное же опять надо держать в отдельном файле али как!
а как в ini файле вопросы перечислить? так: вопрос 1; вопрос 2; вопрос 3; ... и т.д. и как определить правельный ответ на каждый вопрос? т.е. нужно чтобы на каждый вопрос были скажем по 5ть вариантов ответа, с 1м верным! это можно сделать с этим скриптом?
Ведь если PHP скрипт начинается даже с html кода он уже будет отправлен в буфер и заголовки сессии уже не передадуться.Вроде так.
Да только желательно в ini файле разделы писать номерами!!! Там же можно прописывать ответ в виде номера вопроса.
Черкните полный скрипт и пример как делать ини файл...??? А то чет я щаз пробовал, ну ерунда получается... ОЧЕНЬ ЖДУ!
ini-файл Код (Text): Вопрос1|Ответ1 Вопрос2|Ответ2 ... Вопрос10|Ответ10 PHP: <? $file = fopen("file.ini", "r"); while (!feof($file)) { $line = fgets($file); $buf[] = explode("|", $line); } Вопрос и ответ на него находится в массиве под соответствующим ключом
А не проще было бы инклудить PHP файл в котором вопросы и ответы были бы уже в массиве? что то вроде этого: PHP: <?php $test[0]['question']="вопрос 1" $test[0][1]="вариант ответа 1" $test[0][2]="вариант ответа 2" $test[0][3]="вариант ответа 3" ... $test[0]['right']="номер правильного варианта для вопроса 1" ... $test[1]['question']="вопрос 2" $test[1][1]="вариант ответа 1" $test[1][2]="вариант ответа 2" $test[1][3]="вариант ответа 3" ... //ну и т.д. ?> а уж в самом файле index.php как раз таки и можно реализовать случайный выбор вопросов через функция случайного числа в промежутке от 0 до (count($test)-1)
Не... ЛУчше все сразу в массив, а потом из массива работать, или уж тогда в БД! Нафига грузить ФС сервака? Так что выше примеры вери гуд... ВСЕМ СПС!!!!!!!! Ждемс окончательного кода от Adamant
PHP: <?php $array=array('0'=>array('question'=>'Вопрос?','1'=>'Ответ 1','2'=>'Ответ 2','3'=>'Ответ 3','right'=>'2')); print_r($array); $serialize=serialize($array); //Эту переменную можно записать в файл echo $serialize."\r\n"; $array=unserialize($serialize); //Потом можно файл ансериализировать //И получить массив с вопросами print_r($array); ?>
Не ну я конечно все понимаю, но для человека который почти нифига не знает пхп, это сделать также невозможно как для мастдая нормально работать долгое время! ЧЕРКНИТЕ ПОЛНЫЙ СКРИПТ КАК И ЧТО ИЛИ ПРЕКРЕПИТЕ ЕГО К ЭТОМУ ТОПИКУ... Что мне толку от частичных модулей и функций? Я не знаю куда это вставить... Просто либо мне с нуля все изучить и сделать самому или, люди добрые, черкните полный скрипт с массивами или без, но чтоб нормально работало! От Адамант(а) хороший скрипт вроде как был, но там нет чтобы вразноброс вопросы были... А хорошо было бы сделать так чтобы вопросов и ответов в массиве было много, скажем 50, и чтобы скрипт случайно выбирал из них 10 и выводил, и в конце бы получал орезультат, если на все 10 верно отвечено, то переходил на заданную стр. если нет, то на другую заданную стр. Вот такова задача, жаль только что сам я ее не могу решить, а очень нужно для сайта!!! ВСЕМ ЗАРАНЕЕ СПС!!!!!!!!!!!!!