Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 07.10.2012
Сообщений: 54

Немогу справиться с формой

18.03.2013, 03:35. Показов 579. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вообщем преподу рисую мониторинг систему, выглядит следующим образом:
вопрос
-ответ
-ответ
-ответ
...
вопрос
-ответ
-ответ
-ответ
отправить

код примерно таков:
HTML5
1
2
3
4
5
6
7
8
9
10
11
<strong> Вопрос </strong><br>
<form action='answer.php' method='post'>
<input name='name' type='radio'> Ответ <br>
<input name='name' type='radio'> Ответ < br>
<input name='name' type='radio'> Ответ <br>
<br><br><br>
<strong> Вопрос </strong><br>
<input name='name1' type='radio'> Ответ <br>
<input name='name1' type='radio'> Ответ <br>
<input name='name1' type='radio'> Ответ <br>
<input name='submit' type='submit' value' Отправить '> </form>
А проблема заключается в том что мне в каждом вопросе(вопросов будет больше) нужно выбрать только один ответ. а в файле answer с помощью php скрипта подсчитать сумму правильных ответов

код в answer:
PHP
1
2
3
foreach($_REQUEST['name'] as ans)
{ $ans=$ans+1; } 
echo ' Правильных ответов : ',$ans;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.03.2013, 03:35
Ответы с готовыми решениями:

Решите в Delphi (немогу справиться до конца)
1. На форме располагаются компоненты: на середине формы метка Label с указанием фа-милии студента; ListBox с опциями-цифрами 1, 2, 3, 4; ...

Не могу справиться

Как справиться GC
На хостинге с рельсовыми приложениями творится странное. Весят 74 метра, одна virtual memory занимают до 1g. Чем дольше работает...

7
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
18.03.2013, 06:19
Добавляйте в инпуту value с номером ответа
HTML5
1
2
<input name='name' type='radio' value='1'> Ответ 1<br>
<input name='name' type='radio' value='2'> Ответ 2<br>
При обработке я бы сделал так
PHP
1
if($_POST['name'] == 2) $sum++;
где 2 это например вариант верного ответа на вопрос с именем name. А sum количество верных ответов
0
1 / 1 / 0
Регистрация: 07.10.2012
Сообщений: 54
18.03.2013, 07:27  [ТС]
спасибо, конечно, только не подходит. Таких вопросов будет 20, тогда все 20 будут правильные если пользователь выберет вариант 2. Повторяю 20 вопросов по 3 варианта в каждом и только после всего этого submit! Я думаю передавать както в name='$a' ну какую нибудь переменную, только браузер эту самую переменную не видит.

Суть в том чтобы пользователь открыв исходный код в браузере не увидел правильные ответы
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
18.03.2013, 09:28
Не так понял, например есть форма
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<form action="answer.php" method="post">
    <p>Вопрос 1</p>
    <input type="radion" name="q[1]" value='1' />Ответ 1<br />
    <input type="radion" name="q[1]" value='2' />Ответ 2<br />
    <input type="radion" name="q[1]" value='3' />Ответ 3<br />
 
    <p>Вопрос 2</p>
    <input type="radion" name="q[2]" value='1' />Ответ 1<br />
    <input type="radion" name="q[2]" value='2' />Ответ 2<br />
    <input type="radion" name="q[2]" value='3' />Ответ 3<br />
 
    <p>Вопрос 3</p>
    <input type="radion" name="q[3]" value='1' />Ответ 1<br />
    <input type="radion" name="q[3]" value='2' />Ответ 2<br />
    <input type="radion" name="q[3]" value='3' />Ответ 3<br />
 
    <input type="submit" name='answer' value="Готово" />
</form>


И будет след обработка
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if(isset($_POST['answer']) AND !empty($_POST['q'])){
 
    /*
     * Массив верных ответов. Номер вопроса => Номер правильного ответа
     */
    $answer = array(
        1 => 2,
        2 => 3,
        3 => 2
    );
 
    $sum = 0; //Количество верных ответов
 
    foreach($_POST['q'] as $key => $val) {
        if ($answer[$key] == $val){
            $sum++;
        }
    }
 
}
Писал не тестируя, мог где то допустить ошибки мелкие
1
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
18.03.2013, 09:46
Цитата Сообщение от DisneyLand Посмотреть сообщение
Суть в том чтобы пользователь открыв исходный код в браузере не увидел правильные ответы
он и не увидит, php-код выполняется на сервере, в браузере лишь результат выполнения
0
1 / 1 / 0
Регистрация: 07.10.2012
Сообщений: 54
19.03.2013, 07:26  [ТС]
прийдеться к каждому опросу добавлять двумерный массив, а в самой форме как-нибудь передавать переменную нельзя? ну скажем в каждом правильном ответе в name="q1$write", в остальных будет просто name="q1"а в обработчике будет count($_REQUEST['$write'])

Добавлено через 4 часа 28 минут
вообщем ладно, нету времени на велосипед. Огромное спасибо дельфину, но возник еще один вопрос.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
 
    
    $answer = implode(" ",mysql_fetch_row($result));
 
    $sum = 0; //Количество верных ответов
 
    foreach($_POST['q'] as $key => $val) {
        if ($answer[$key] == $val){
            $sum++;
        }
    
 
}
немогу присвоить значение из базы в answer, в базе лежит Array(1=>1,2=>3,3=>1,4=>2);
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
19.03.2013, 07:30
Цитата Сообщение от DisneyLand Посмотреть сообщение
$answer = implode(" ",);
PHP
1
2
3
4
$answer = array();
while($row = mysql_fetch_array($result)){
    $answer[] = $row;
}
0
1 / 1 / 0
Регистрация: 07.10.2012
Сообщений: 54
19.03.2013, 07:37  [ТС]
блок не считет сумму =(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.03.2013, 07:37
Помогаю со студенческими работами здесь

Не могу справиться с ДУ
Не могу победить ДУ Y’-(1/X+1)*Y=E^X*(X+1)

Не могу справиться с if!
Вот код: #include &lt;iostream.h&gt; #include &lt;stdio.h&gt; int main() { using namespace std; string name; cout &lt;&lt; &quot;Type name: ...

Не могу справиться
Я понимаю что таких много, но все же. Помогите с решением. Раз иначе вам невдомек, то говорю прямо: условие наберите ручками. Условие в...

Не могу справиться с заданием
1)На форме располагаются компоненты:. редактор Memo, занимающий центр окна; компо-нент ListBox c четырьмя опциями &quot;стрелка...

Не могу справиться с вирусом
Вообще, с компьютером дружу. И дело началось так: Одним днем hdd выдал ошибку о том, что скоро его работа закончится. Через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru