Gerardo Compiano
Gerardo Compiano
Laravel
Comparte:

No aparece "procesar el formulario"

Hola, estoy viendo el curso de Udemy "Dominando Laravel" y estoy en el video 18 "Como enviar formularios"
Cuando actualizo y hago enviar no me esta tomando eso y no me aparece nada cuando envio, ni error ni nada, la pagina en blanco
Intente seguir la clase, logre que muestre el json pero sin formato, y cuando intente hacer que me devuelva el nombre, o el mail, etc, no me muestra nada de nuevo
Dejo el codigo q tengo
web.php:
  1. <?php
  2. Route::view('/', 'home')->name('home');
  3. Route::view('/about', 'about')->name('about');
  4. Route::get('/portfolio', 'PortfolioController@index')->name('portfolio');
  5. Route::view('/contact', 'contact')->name('contact');
  6.  
  7. Route::post('contact', 'MessagesController@store');

Messages Controller:
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use Illuminate\Http\Request;
  6.  
  7. class MessagesController extends Controller
  8. {
  9.     public function store(Request $request)
  10.     {
  11.     	return $request->get('name');
  12.     }
  13. }

contact.blade.php:
  1. @extends('layout')
  2.  
  3. @section('title', 'Contact')
  4.  
  5. @section('content')
  6. 	<h1>Contact</h1>
  7. 	<form method="POST" action="{‌{ route('contact') }}">
  8. 		@csrf
  9. 		<input name="name" placeholder="Nombre..." value="Harry"><br>
  10. 		<input type="email" name="email" placeholder="Email..." value="Harry@lalalalal.com"><br>
  11. 		<input name="subject" placeholder="Asunto..." value="Asunto de prueba"><br>
  12. 		<textarea name="content" placeholder="Mensaje...">Mensaje de prueba</textarea><br>
  13. 		<button>Enviar</button>
  14. 	</form>
  15. @endsection

Gracias, Saludos

Pablo Vera
Pablo Vera (1422 xp)
Haz intentado hacer:
 public function store(Request $request){
    dd($request->all());
}

Para ver lo que trae el request? 
Jorge Davila
Jorge Davila (838 xp)
Estas haciendo un post a tu misma ruta de la que estas mandando, aunque esa ruta solo acepta el metodo get. Si usas el helper route(), debes pasarle un nombre de ruta. 

Route::view('/contact', 'contact')->name('contact');
La ruta de arriba tiene el nombre contact, es a la que tu estas haciendo el post.

Route::post('contact', 'MessagesController@store');
Esta sin embargo, no tiene nombre, por lo cual no es a la que estas llamando. O le asignas un nombre o  usas el helper url .