Формы в Laravel (метод GET)

Приведём пример создания простейшей формы в Laravel. Для этого напишем свой контроллер, который будет вызывать представление под названием "mouse.form":
<?php 
   namespace App\Http\Controllers;
   use App\Http\Controllers\Controller;
   class MouseController extends Controller {
      public function form() {
         return view('mouse.form');
      }
   }
?>
Теперь сделаем представление с простейшей формой из одного текстового поля и кнопки отправки формы:
<form action="" method="get">
   <input type="text" name="text">
   <input type="sybmit">
</form>
Для примера мы используем метод отправки "GET", потому что он легче относительно реализации POST (меньше нюансов), о котором поговорим позже.
Для получения значения данных форма в Laravel используется класс Request. Чтобы использовать его внутри контроллера, необходимо сначала подключить его с помощью "use". А внутри аргумента функции "form" напишем переменную $request от класса Request:
<?php 
   namespace App\Http\Controllers;
   use App\Http\Controllers\Controller;
   use Illuminate\Http\Request;
   class MouseController extends Controller {
      public function form(Request $request) {
         echo $request->input('text'); // в переменной $request содержатся данные запроса
         return view('mouse.form');
      }
   }
?>
Давайте ограничим вывод, если не передаётся никаких данных. Сделаем это с помощью метода "has", который проверяет поле на существование (и ненулевую длину). Будем делать вывод значение только в том случае, если оно есть в переменной $request:
<?php 
   namespace App\Http\Controllers;
   use App\Http\Controllers\Controller;
   use Illuminate\Http\Request;
   class MouseController extends Controller {
      public function form(Request $request) {
         if($request->has('text')){
            echo $request->input('text');
         }
         return view('mouse.form');
      }
   }
?>

Несколько действий

В предыдущем примере мы разместили обработку действия непосредственно в функции вызова представления. Попробуем теперь разделить их на две функции. Первая функция "form" даёт представление формы, а вторая "result" выводит результат. Причём в функции "result" будет вызываться своё представление, в которое передаются принятые от формы данные.
<?php 
   namespace App\Http\Controllers;
   use App\Http\Controllers\Controller;
   use Illuminate\Http\Request;
   class MouseController extends Controller {
      public function form() {
         return view('mouse.form');
      }
      public function result(Request $request) {
         $text = $request->input('text');
         return view('mouse.result', ['text' => $text]);
      }
   }
?>
Остаётся только сделать представление "mouse.result", в котороый воводить значение из поля переданной формы с помощью {{ $text }}.
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Cмотрите другие статьи:
Была ли статья полезной?
Была ли эта статья полезна? Есть вопрос?
хостинг для сайтов
Закажите недорогой хостинг Заказать

всего от 290 руб