5 / 5 / 0
Регистрация: 29.09.2010
Сообщений: 18
|
|
1 | |
Задание при приеме на работу19.10.2014, 16:43. Показов 1900. Ответов 5
Метки нет (Все метки)
Здравствуйте, уважаемые форумчане!
При устройстве на работу получила перечень заданий, с большинством из которых уже справилась. Осталось последнее. Несмотря на то, что во времени меня не ограничивали, на выполнение предыдущих ушла неделя. Стыдно спрашивать на форуме, не давая хотя бы части своего ответа, но, хотелось бы сдать задание побыстрее и попасть на собеседование. Возможно, кто-нибудь сможет дать общий ответ, потому как на данный момент я установила на локальный сервер простенький интернет-магазин и пытаюсь разобраться как там организована форма заказа. Буду благодарна любому ответу. Спасибо. Само задание: Есть форма на сайте, для реализации заказа клиентом. В форме есть 3 поля: имя клиента, дата желаемого получения заказа и выпадающий список с возможностью выбора товара для заказа. В теге option выпадающего списка в атрибуте value передается идентификатор товара. Напишите подробно что бы вы сделали с данными приходящими с формы для занесения их в табличку базы данных?
0
|
19.10.2014, 16:43 | |
Ответы с готовыми решениями:
5
При приеме почты не выводится правильно поле от кого Тестовое задание при приеме на работу О том как я провалил тестовое задание при приеме на работу Задача при приеме на работу |
> /dev/null
286 / 119 / 86
Регистрация: 14.05.2014
Сообщений: 767
|
|
19.10.2014, 17:05 | 2 |
Задача элементарная справиться любой junior. Просто напишите обработчик формы, с фильтрацией данных и занесением их в таблицу.
1
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
19.10.2014, 17:18 | 3 |
Сообщение было отмечено _olovo_ как решение
Решение
1) Получаем данные из POST с помощью filter_input_array().
2) Указываем фильтры, через которые нужно пройти данным (для полей "имя клиента" и "дата получения заказа" можно использовать FILTER_VALIDATE_REGEXP, а для ID товара можно использовать FILTER_CALLBACK для проверки, есть ли товар с таким ID). В FILTER_CALLBACK пишем код, который проверит на наличие товара по ID. 3) Проверяем, есть ли в полученном массиве булево значение "false". 4) Если есть - выдаём пользователю сообщение о некорректных полях. 5) Если нет, выполняем запрос в базу данных, используя, например, PDO. 6) Выдаём сообщение об успешной регистрации заказа. Ну, примерно так...
1
|
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
|
|
20.10.2014, 01:24 | 4 |
как на меня, более разумно и ближе к пользователю когда данные проверяются еще до их отправки на сервер, javascript с этим прекрасно справляется )
Добавлено через 20 минут А так то схема проста: 1 - при отправки формы проверяем данные по своим правилам 2 - в случаи не корректности выдаем пользователю соответствующее уведомления, если же все хорошо - отправляем данные методом post обработчику 3 - в обработчику проверяем с нашей ли формы были приняты данные, т.е. смотрим название переменной кнопки submit и адрес страницы с которой они пришли 4 - в случаи не соответствия выкидываем с обработчика, если же все гуд то соединяемся с базой 5 - записываем данные в таблицу, записываем результат операции 6 - закрываем соединения с базой 7 - возвращаемся на главную или страницу с формой и уведомляем пользователя об результате Как то так, ничего сложного. Главное чтоб все прошло безопасно для сервера и быстро для пользователя
1
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
20.10.2014, 07:23 | 5 |
prudkiy, извините, но Вы сильно ошибаетесь. Главное правило написания web-приложений: никогда не доверяйте пользователю. Иначе Ваш сайт взломают. Этим всё сказано. Не буду объяснять, почему нельзя доверять, про это куча статей имеется в интернете.
Нет, я не против проверки данных с помощью JS. Но проверять с помощью JS можно только для удобства пользователя, чтобы ему нагляднее было. Но проверка на стороне сервера обязательна.
0
|
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
|
|
21.10.2014, 00:15 | 6 |
Согласен с Вами, данные конечно нужно всегда проверять так же на стороне сервера, забыл это указать. Но все же не нужно забывать и об удобстве пользователя та проверить данные перед отправкой на сервер тоже для нас не плохо
1
|
21.10.2014, 00:15 | |
21.10.2014, 00:15 | |
Помогаю со студенческими работами здесь
6
Каверзные вопросы при приеме на работу Типовые задачи при приеме на работу программистом Тесты, вопросы и задания при приеме на работу Какие требуют документы при приеме на работу программистов? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как сделать перенос строки в Bash
bytestream 28.01.2025
При работе с командной оболочкой Bash разработчики часто сталкиваются с необходимостью форматирования текстового вывода, где ключевую роль играет правильное управление переносами строк. Умение. . .
|
Поиск подстроки в строке с помощью Bash
bytestream 28.01.2025
Поиск подстроки в строке является одной из важных задач в программировании и обработке текстов. Применение такого поиска можно найти в самых разных областях, от анализа данных до разработки. . .
|
[golang] 169. Majority Element
alhaos 28.01.2025
Тут надо вернуть "мажористый" элемент который встречается в слайсе больше чем в половине случаев. По условиям задачи во входных данных такой элемент обязан присутствовать.
/ / . . .
|
Когда лучше использовать LinkedList вместо ArrayList в Java
bytestream 28.01.2025
При разработке Java-приложений выбор правильной структуры данных играет ключевую роль в обеспечении эффективности и производительности программы. ArrayList и LinkedList являются двумя. . .
|
Какой ответ HTTP лучше использовать: 403 Forbidden или 401 Unauthorized, когда недостаточно прав
bytestream 28.01.2025
В современной веб-разработке правильная обработка ошибок и точное информирование клиентов о статусе их запросов играют критическую роль в создании надежных и безопасных приложений. Особое внимание. . .
|
Как получить список всех файлов коммита в Git
bytestream 28.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде и других файлах проекта. В основе работы Git лежит концепция коммитов - снимков. . .
|
Как записать только часть изменений файла в Git
bytestream 28.01.2025
В процессе разработки программного обеспечения часто возникает необходимость сохранить только определенные изменения из множества внесенных правок в файлах. Система контроля версий Git предоставляет. . .
|
[golang] 80. Remove Duplicates from Sorted Array II
alhaos 28.01.2025
В предоставленном упорядоченном по возрастанию целочисленном слайсе, оставить уникальные элементы полюс один возможный дубликат. Вернуть количество таких элементов.
/ / . . .
|
Что такое внедрение зависимостей и для чего оно применяется
bytestream 27.01.2025
В современной разработке программного обеспечения одной из ключевых проблем является управление зависимостями между различными компонентами системы. Внедрение зависимостей (Dependency Injection, DI). . .
|
Как установить cellpadding и cellspacing в CSS
bytestream 27.01.2025
При создании веб-страниц с табличными данными разработчики часто сталкиваются с необходимостью правильного оформления внутренних и внешних отступов в таблицах. В традиционной разметке HTML для этих. . .
|
Чем отличаются public, protected, package-private и private в Java
bytestream 27.01.2025
В языке программирования Java механизм модификаторов доступа играет ключевую роль в реализации одного из фундаментальных принципов объектно-ориентированного программирования - инкапсуляции. . . .
|
Зачем нужно explicit в C++. Преобразование типов
bytestream 27.01.2025
В мире программирования на C++ управление преобразованием типов данных играет crucial роль в создании надежного и безопасного кода. Язык C++ предоставляет множество механизмов для контроля над. . .
|