2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Laravel,данные введенные в форму не сохраняются в Request
Сообщение03.11.2017, 20:18 


24/06/17
22
Здравствуйте люди.
Подскажите в чем проблема.
Ниже приведены три файла из фреймворка Laravel.
Хочу создать форму для заполнения c кнопкой, при нажатии на которую, данные отправляются на сервер.
Я новичок, прочитал что данные отправленные таким способом из формы на сервер сохраняются в объекте класса
Request(в моем случае $request см ниже).
В итоге при запуске программы сначала выдает:
Array ( )
Name -поле ввода
Email -поле ввода
ssss- кнопка
И при нажатии на кнопку тоже самое!!!
Хотя вроде как Array ( ) теперь не пустой а заполнен введенными в форму данными.
Т.к print_r($request->all()); в коде есть.
Почему ничего в $request не сохранилось?

1)Создаю маршрутизатор:
Код:
<?php
Route::match(['get','post'],'/',['uses'=>'ContactController@show','as'=>'contact']);


2)Создаю контроллер(ContactController):
Код:
<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;//используем род класс контроллер

class ContactController extends Controller
{

   
        public function show(Request $request){
      print_r($request->all());
        return view('contact');
   }
}


3)Создаю в представлении(contact.blade.php) форму для заполнения с двумя полями:

Код:
<form method="post" action="{{route('contact')}}">
<div class="form-group">
   <label for="name">Name</label>
      <input type="text" class="form-control" id="name" name="name" value="">
</div>

<div class="form-group">
   <label for="email">Email</label>
         <input type="email" class="form-control" id="email" name="email" value="">
</div>

<button type="submit" class="btn btn-primary">ssss</button>
{{csrf_field()}}
</form>

 Профиль  
                  
 
 Re: Laravel,данные введенные в форму не сохраняются в Request
Сообщение04.11.2017, 12:57 


24/06/17
22
Решено!
Для таких же новичков как я:
Что было сделано:
1)Работаю с браузером Хром, при нажатии на f12 выходит консоль.В ней выбираем вкладку network(что в переводе -сеть)->заходим во вкладку all->нажимаем на файл.
-В пункте Request Method(в нем указано каким методом вызван файл(страница)) у меня указан post, т.к страница вызвана методом post при отправке формы.
в моем случае:
Request URL:http://localhost/blog3/public

-В пункте Status Code находится ответ сервера.
В моем случае: Status Code: 301 Moved Permanently (погуглил:это значит что запрошенный ресурс был на постоянной основе перемещён в новое месторасположение)

Как узнать новое месторасположение месторасположение ?
Очень просто.Оно находится в пункте Location:
Location:http://localhost/blog3/public/

Я заметил что в новом месторасположении добавлена косая черта в конце:).
Что сделал?
Заменил <form method="post" action="{{route('contact')}}"> на <form method="post" action="{{route('contact')}}/">:
Код:
<form method="post" action="{{route('contact')}}/">
<div class="form-group">
   <label for="name">Name</label>
      <input type="text" class="form-control" id="name" name="name" value="">
</div>

<div class="form-group">
   <label for="email">Email</label>
         <input type="email" class="form-control" id="email" name="email" value="">
</div>

<button type="submit" class="btn btn-primary">ssss</button>
{{csrf_field()}}
</form>

Все заработало!Теперь в Array значения отправленные формой.

Теперь Status Code:200 OK.
Так же в консоли высвечиваются данные формы в пункте:FormData.
А кода было Status Code: 301 Moved Permanently - FormData пункта вобще не было(что настораживало,т.к запрос post а данные не передаются)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group