Php для web практика

PHP практика: после курса основ PHP

Создайте произвольную форму с двенадцатью элементами управления. Напишите такой PHP код, чтобы посетитель мог заполнять форма частями по 3-4 элемента. Т.е. должно быть 4 или 3 шага заполнения.

  1. PHP-скрипт и форма должны быть реализованы в рамках одного файла
  2. На всех шагах форма должна «помнить» введённые прежде значения
  3. После отправки формы на последнем шаге заполнения, все заполненные данные должны выводиться в тег
  4. На каждом шаге заполнения над формой должен быть заголовок с фразой отображающей номер шага. Например, «Шаг 1 из 3»
  5. Во всех заданиях код нужно снабжать комментариями
  6. Для организации используйте скрытое поле со счетчиком шага (input type=hidden)
  7. У полей ввода, которые не должны быть видны также должен иметься type=hidden
  8. В задаче нельзя использовать сессии (мы ведь их изучаем позже!)

Задание 2: Создание формы логина

Создайте форму для ввода логина и пароля. Параметры полей должны называться login и psw. Если логин и пароль вводятся правильно (значения «admin» и «Fs~j4Ms|Go») — выводить «секретное» меню для менеджера сайта, иначе сообщение о некорректном вводе

  1. Это тренировочное задание: оно не требует работы с сессиями или базой.
  2. Пароль при вводе не должен быть виден в поле ввода
  3. Используйте для работы Bootstrap
  4. Укажите метод POST в элементе
  5. Форма должна отправляться на саму себя
  6. Для удобства проверки решения, поместите логин и пароль в константы (admin: Fs~j4Ms|Go, psw: Fs~j4Ms|Go)
  7. Секретное меню представляет собой 4 гиперссылки, которые должны быть видны только при условии правильного ввода логина/пароля
Читайте также:  Как включить куки php

Задание 3: Проверка полей формы

Напишите скрипт, который по заданному многомерному массиву создаст разметку формы с полями внутри. А при обработке пробежит по всем элементам массива и отфильтрует данные в зависимости от их типа.

Например, для PHP массива $elements:

$elements = [ [ "element" => "input", "htmltype" => "text", "name" => "firstname", "type" => "string", "placeholder" => "Введите имя" ], [ "element" => "input", "htmltype" => "text", "name" => "age", "type" => "integer", "placeholder" => "Введите возраст" ], [ "element" => "input", "htmltype" => "radio", "name" => "gender", "type" => "boolean", "value" => "male", "label" => "мужской" ], [ "element" => "input", "htmltype" => "radio", "name" => "gender", "value" => "female", "type" => "boolean", "label" => "женский" ], [ "element" => "input", "htmltype" => "submit", "value" => "Отправить" ], ];

Нужно получить HTML форму приблизительно такого содержания:

form action="/" method="POST"> div > input type="text" placeholder="Введите имя" name="firstname" />
div > input type="text" placeholder="Введите возраст" name="age" />
div > input type="radio" name="gender" value="male" /> label for="">мужской
div > input type="radio" name="gender" value="female" /> label for="">женский
div > input type="submit" value="Отправить" />
  1. После выполнения задания и проверки его мной, поиграйтесь с набором ключей массива и вариантами вывода формы
  2. После отправки формы, в полях должны оставаться отправленные значения
  3. При нажатии на label радиокнопка должна отмечаться (вспомните как это сделать на чистом HTML)

Задание 4: Нахождение частоты встречаемости слов

table > thead> tr> th># th>Слово th>Частота   tbody> tr> th scope="row">1 td>php td>12  tr> th scope="row">2 td>javascript td>9  tr> th scope="row">3 td>html td>5    

При обработке формы и выводе таблицы исходный текст в должен сохраняться.

Читайте также:  Массив случайных чисел python numpy

Изначально в поле тоже должен содержаться текст: 100 слов из lorem

Задание 5: Сортировка массива анонимной функцией

Напишите PHP-код сортировки массива с использованием анонимной функции (https://www.youtube.com/watch?v=IhPkWLRCjvQ)

  1. массив должен быть отсортирован по любому ключу
  2. [ [ «title» => «Lenovo», «price» => 9e3, «reviews» => 107, «rating» => 11], [ «title» => «iPhone», «price» => 9e4, «reviews» => 120, «rating» => 12], [ «title» => «Samsung», «price» => 5e4, «reviews» => 110, «rating» => 14], [ «title» => «Lenovo», «price» => 2e4, «reviews» => 130, «rating» => 15], [ «title» => «Xiaomi «, «price» => 7e3, «reviews» => 110, «rating» => 13], ]

Задание 6: Разработка постраничного разбиения

Рано или поздно вы столкнётесь с необходимостью вывода большого количества материала с разбиением его на отдельные страницы/фрагменты. Pagination — термин, который используется для обозначения ссылок на наборы товаров или материалов на странице. Напишите PHP код, который реализует постраничное разбиение материала. (http://htmllab.ru/php-pagination/)

  1. выведите массив данных так, чтобы на каждой странице показывалось три товара
  2. массив данных [ [ «title» => «Lenovo», «price» => 9e3, «reviews» => 107, «rating» => 11], [ «title» => «iPhone», «price» => 9e4, «reviews» => 120, «rating» => 12], [ «title» => «Samsung», «price» => 5e4, «reviews» => 110, «rating» => 14], [ «title» => «Lenovo», «price» => 2e4, «reviews» => 130, «rating» => 15], [ «title» => «Xiaomi «, «price» => 7e3, «reviews» => 110, «rating» => 13], ]
  3. посмотрите как реализовано постраничное разбиение в Яндекс и Гугл

Задание 7: Работа с пространством имен

Познакомьтесь с понятием пространства имён в PHP (http://htmllab.ru/php-namespace/) и напишите свою реализацию функции print_r(), которая будет выводить содержимое сразу в .

Задание 8: Создание PHP-приложения

Создайте PHP-приложение так, чтобы основной точкой входа в приложение был файл index.php.

  1. Рядом с index.php создайте папку pages с HTML и PHP страницами
  2. Подключайте страницы в зависимости от входного параметра q
  3. Настройте работу чистых ссылок и проверьте, что в зависимости от URL адресной строки подключаются различные файлы
  4. Примечание: вспомните работу с .htaccess и посмотрите функцию file_exists()

Задание 9: Сортировка товаров

Выведите массив товаров в виде таблицы. Создайте ссылки для сортировки каждого параметра ( «по цене», «по рейтингу», «по отзывам»)

  1. При первом нажатии на ссылку «по цене», должна выполняться сортировка по возрастанию параметра «📈»; при повторном нажатии — по убыванию параметра «📉»
  2. GET-параметр для сортировки должен называться «how»
  3. Значения how: aprice — возрастание цены, dprice -убывание цены, reviews — по убыванию отзывов, rating — по убыванию рейтинга
  4. Ссылка с выбранным порядком сортировки должна обёртываться в
  5. Ссылки для сортировки должны находится ячейках (раздела ) таблицы
  6. Когда выводятся товары, «цена» должна быть без значков сортировки. А при нажатии — показывать как отсортированы товары (т.е. в один момент времени может быть только одна стрелка). При повторном нажатии стрелка должна меняться на противоположную
[ [ "title" => "Lenovo", "price" => 9e3, "reviews" => 107, "rating" => 11], [ "title" => "iPhone", "price" => 9e4, "reviews" => 120, "rating" => 12], [ "title" => "Samsung", "price" => 5e4, "reviews" => 110, "rating" => 14], [ "title" => "Lenovo", "price" => 2e4, "reviews" => 130, "rating" => 15], [ "title" => "Xiaomi ", "price" => 7e3, "reviews" => 110, "rating" => 13], ]

Задание 10: Фильтрация товаров

Создайте массив из товаров (ассоциативных массивов) с ключами «название», «производитель», «цена», «цвет» и форму фильтрации по названию товара (input type text — ищем даже по части названия), диапазону цены, флажкам (checkbox) по производителям и множественному выбору цвета ( )

[ [ "title" => "Lenovo Vibe Shot", "manufacturer" => "Lenovo", "price" => 9e3, "color" => "black"], [ "title" => "Apple iPhone 7 128GB", "manufacturer" => "Apple", "price" => 9e4, "color" => "white" ], [ "title" => "Samsung Galaxy S8", "manufacturer" => "Samsung", "price" => 5e4, "color" => "grey" ], [ "title" => "Lenovo P2", "manufacturer" => "Lenovo", "price" => 2e4, "color" => "grey" ], [ "title" => "Xiaomi Mi6 128GB", "manufacturer" => "Xiaomi", "price" => 7e3, "color" => "white" ], [ "title" => "Xiaomi Mi Note 3 64Gb", "manufacturer" => "Xiaomi", "price" => 2e4, "color" => "black" ], ]
  1. При вводе данных в форму и отправке запроса, должны показываться только товары отвечающие всем условиям одновременно
  2. Если форма не заполнена — показывать все товары
  3. Форма и товары должны быть организованы в двух столбцах (форма в правом столбце)

Источник

PHP упражнения, практика, решение

PHP (рекурсивная аббревиатура для PHP: Hypertext Preprocessor) — широко используемый универсальный язык сценариев с открытым исходным кодом, который особенно подходит для веб-разработки и может быть встроен в HTML.

Лучший способ научиться чему-либо — это тренироваться и задавать вопросы. Мы начали этот раздел для тех (от новичка до среднего), кто знаком с PHP .

Надеюсь, эти упражнения помогут вам улучшить свои навыки кодирования PHP. В настоящее время доступны следующие разделы, мы прилагаем все усилия, чтобы добавить больше упражнений. Удачного кодирования!

Примечание: хорошо, если вы играете с кодами PHP с помощью онлайн-редактора PHP, чтобы насладиться полноценной средой PHP (поскольку онлайн-редакторы имеют несколько оговорок, например, встраивание PHP в HTML) и работают на своем компьютере гораздо лучше, чем изучать PHP. Пожалуйста, прочитайте нашу установку PHP на Windows и Linux, если вы не знакомы с установкой PHP.

Список упражнений PHP:

Проблемы с PHP:

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

Популярность языка программирования По всему миру, август 2019 года по сравнению с прошлым годом:

Ранг + Изменить язык Поделиться тенденция
1 питон 28,73% +4,5%
2 Джава 20,0% -2,1%
3 Javascript 8,35% -0,1%
4 C # 7,43% -0,5%
5 PHP 6,83% -1,0%
6 C / C ++ 5,87% -0,3%
7 р 3,92% -0,2%
8 Objective-C 2,7% -0,6%
9 стриж 2,41% -0,3%
10 Matlab 1,87% -0,3%
11 «вверх Машинопись 1,76% + 0,2%
12 Рубин 1,44% -0,2%
13 «вверх Котлин 1,43% + 0,4%
14 VBA 1,41% -0,0%
15 «вверх Идти 1,21% + 0,3%
16 Scala 1,15% -0,1%
17 Visual Basic 1,1% -0,1%
18 «вверх Ржавчина 0,63% + 0,3%
19 Perl 0,58% -0,1%
20 Lua 0,37% -0,0%
21 Haskell 0,3% +0.0%
22 Delphi 0,27% +0.0%
23 Юля 0,26% + 0,1%

Индекс TIOBE за август 2019 года

Авг 2019 Авг 2018 + Изменить Язык программирования Рейтинги + Изменить
1 1 Джава 16,028% -0,85%
2 2 С 15,154% + 0,19%
3 4 «вверх питон 10,020% + 3,03%
4 3 C ++ 6,057% -1,41%
5 6 «вверх C # 3,842% + 0,30%
6 5 Visual Basic .NET 3,695% -1,07%
7 8 «вверх JavaScript 2,258% -0,15%
8 7 PHP 2,075% -0,85%
9 14 «вверх Objective-C 1,690% + 0,33%
10 9 SQL 1,625% -0,69%
11 15 «вверх Рубин 1,316% + 0,13%
12 13 «вверх MATLAB 1,274% -0,09%
13 44 «вверх Groovy 1,225% + 1,04%
14 12 Delphi / Object Pascal 1,194% -0,18%
15 10 язык ассемблера 1,114% -0,30%
16 19 «вверх Visual Basic 1,025% + 0,10%
17 17 Идти 0,973% -0,02%
18 11 стриж 0,890% -0,49%
19 16 Perl 0,860% -0,31%
20 18 р 0,822% -0,14%

Список упражнений с решениями:

[Хотите внести свой вклад в упражнения PHP? Отправьте ваш код (прикрепленный к ZIP-файлу) нам на w3resource [at] yahoo [dot] com. Пожалуйста, избегайте материалов, защищенных авторским правом.]

Список упражнений с решениями:

Источник

Оцените статью