Laravel #3

LARAVEL #3 8.12.2020, teisipäev. Sisestatud 09. detsember 2020
1. Подготовим форму для страницы контактов, а также научимся получать данные из этой формы
2. Пропишем html-форму, а дальше научимся получать данные из нее
3. Переходим в resources/views/conact.blade.php и здесь пропишем форму. Удаляем атрибут class,
оставляем action и method
4. В атрибуте action указываем url-адрес, на котором будет происходить обработка формы
5. Пишем action=”contact/submit” method=”post”
6. Теперь создаем поля, в которые пользователь сможет вводить информацию:
<div class=”form-group” – красивые стили для формы от bootstrap.
<label for=”name”>Введите имя
<input type=”text” name=”name” placeholder=”Введите имя” id=”name” class=”form-control”
7. Скопируем это поле несколько раз.
8. Нам необходимо получить email, subject
9. Для ввода сообщений создадим <textarea name=”message”>
10. Добавить кнопку отправить <button type=”submit” class=”btn btn-success”
11. Теперь надо создать обработчик url-адреса, который мы здесь прописали.Все данные
пересылаем на url-адрес /contact/submit
12. Зайдем в файл routes/web.php и создаем обработчик url-адреса:
Пишем Route::post(‘/contact/submit’, function() { })
13. Для получения данных формы надо использовать функцию post, а для отслеживания страницы
используем get
14. Сейчас просто введем текст okey: function() {
return ‘okey’; };
15. Проблема в том, что в Laravel в любую форму надо добавлять защищенный ключ:
<form-control
@csrf
16. На форму будет добавлена одно дополнительное скрытое поле со скрытым защищенным ключом.
17. Laravel с помощью этого ключа добавляем безопасность в ваши формы
18. При отправке формы защищенный ключ будет проверяться. Что форма отправлена пользователем,
а не роботами и ботами. И что пользователь не пытался что либо подставить в эту форму.
19. Если ключ не прописан, то форма обрабатывается некорректно
20. Если сейчас обновим страницу, то видим, что добавилось скрытое поле type=”hidden” сейчас
именем token с защищенным ключом в value.
21. Теперь отправка данных обрабатывается корректно и просто выводится слово okey
22. Теперь реализуем именованное отслеживание url-адресов
23. Route::post()->name(”); Я буду вызывать функцию name только после того, как функция
post будет выполнена. name(‘contact-form’). Имя может быть какое угодно.
24. Это называется именованное отслеживание url-адресов. actin={{ route(‘contact-form’)}},
но на странице на строке адреса появляется contact/form
25. Пропишем ->name(”) для всех шаблонов
26. home, about, contact
27. Теперь заходим в inc/header.blade.php и меняем ссылки. {{route(‘home’)}}
28. Теперь, если переходим между страницами, то замечаем, что ничего не поменялось
29. Например, напишем get(‘feedback’)
30. Выведем в web.php (?) все данные, которые отправляем из формы: return Request::all()
31. Обновим страницу формы и введем данные в форму
32. После отправки данных все данные выводятся в формате объекта со всеми данными формы
33. Во-первых, выводится token, name, email, subject. Надо настроить кодировку и message
34. Если попробуем принять данные в функцию dd(Request::all());, то видим, что все выводится
в красивом формате
35. В этом уроке мы создали форму, создали обработчик url-адреса, то есть получаем данные из
формы и создали именованное отслеживание url-адреса.