@tokyodead

Как построить логику отправки данных в mysql через PHP?

Добрый день, я только начал изучать PHP и базы данных, сделал систему тестирования, теперь нужно сделать авторизацию, где пользователь будет авторизовываться, выполнять тест, и в конце нужно сделать чтобы в базу отправлялись данные о конечном результате тестирования,
можете, пожалуйста, объяснить что нужно делать.
У меня уже есть функции которые записывают в себя, кол-во вопросов, кол-во правильных ответов, и на сколько процентов пользователь сдал тест, можете помочь с построением логики, что сначала нужно сделать?
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ответы на вопрос 1
Сначала сделать авторизацию. Когда пользователь авторизуется записать куда-нибудь, что он авторизовался (в интернете есть статьи с простым решением). Также надо будет понять: будет один тест или больше? Если один тест можно не париться). Допустим у нас будет несколько тестов, тогда после авторизации надо сделать редирект на страничку с тестами. Пользователь выбирает тест (ссылка с id на тест). Допустим у нас есть таблица Вопросы, а в ней поля id вопроса, id теста, вопрос, ответ. После выбора теста генерируется форма с вопросами из таблицы вопросы (вытянуть необходимые данные при помощи sql запроса, а далее циклом вывести input, только без ответа :) ). После нажатии закончить тест данные из формы сохраняются в таблице Ответы (id ответ, id вопроса, id пользователя). После сохранения сравниваем ответы между таблицами Вопросы и Ответы, после сравнения результат записываем в таблице Результаты (id пользователя, id теста, сколько процентов, какая оценка).

АХ ДА! при прохождении теста проверьте чтобы пользователь был авторизован))

ПС: это одна из возможных реализациях, не из лучших явно, но для быстрого написания сгодиться. Логика по крайней мере должна быть такой.

ПСС: А еще вопросы бывают разные, например, объемные. это когда один вопрос на всю страницу. тут надо будет выводить только один input
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы