Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

[SOLUCIONADO] Envío de formulario con Laravel 5

Estas en el tema de Envío de formulario con Laravel 5 en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola amigos, Llevo ratos tratando de enviar un formulario utilizando laravel 5 para enviar registrar guardar una info en una base de datos. Tengo lo ...
  #1 (permalink)  
Antiguo 09/02/2015, 10:10
 
Fecha de Ingreso: diciembre-2006
Mensajes: 213
Antigüedad: 17 años, 4 meses
Puntos: 3
Envío de formulario con Laravel 5

Hola amigos,

Llevo ratos tratando de enviar un formulario utilizando laravel 5 para enviar registrar guardar una info en una base de datos.

Tengo lo siguiente:

En mi archivo rutas:

Código PHP:
Ver original
  1. Route::post('proceso/registrar','ProcesoController@registrar');

En mi archivo controlador:

Código PHP:
Ver original
  1. public function registrar(ProcesoFormRequest $request)
  2. {
  3.         return "Esta es una cadena de prueba para verificar si es recibido el envío";      
  4. }

En la vista:

Código PHP:
Ver original
  1. <form class="form-horizontal" id="registro" action="{{ URL::asset('proceso/registrar') }}" method="post">          
  2.             <div class="form-group">
  3.                 <label for="inputDato" class="control-label col-xs-2">Dato:</label>
  4.                 <div class="col-xs-10">
  5.                     <input type="text" name="dato" id="dato" class="form-control" >                
  6.                 </div>
  7.             </div>      
  8.             <div class="form-group">
  9.                 <div class="col-xs-offset-2 col-xs-10">
  10.                     <button type="submit" id="registrar" class="btn btn-primary">Enviar</button>
  11.                 </div>
  12.             </div>
  13.         </form>

Por ahí leí que la clase Form viene desactivada por defecto en esta nueva versión, por eso mejor hice el formulario con html y lo trato de enviar así.

Por ahí leí que es necesario para validar crear un FormReques, así que lo tengo de esta forma (es lo que le mando al controlador):


Código PHP:
Ver original
  1. class ProcesoFormRequest extends Request { 
  2.     public function authorize()
  3.     {
  4.         return false;
  5.     }  
  6.     public function rules()
  7.     {
  8.         return [
  9.             //
  10.         ];
  11.     }
  12. }

Al final, cuando le doy clic en enviar me carga la página url localhost/MIPROYECTO/proceso/registrar en la barra de direcciones, por lo que imagino que la ruta esta bien, pero ya en la página veo lo siguiente:

Código HTML:
Ver original
  1. TokenMismatchException in compiled.php line 2382:
  2. in compiled.php line 2382
  3. at VerifyCsrfToken->handle(object(Request), object(Closure)) in VerifyCsrfToken.php line 17
  4. at VerifyCsrfToken->handle(object(Request), object(Closure)) in compiled.php line 8858
  5. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 11989
  6. at ShareErrorsFromSession->handle(object(Request), object(Closure)) in compiled.php line 8858
  7. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 10695
  8. at StartSession->handle(object(Request), object(Closure)) in compiled.php line 8858
  9. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 11695
  10. at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in compiled.php line 8858
  11. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 11644
  12. at EncryptCookies->handle(object(Request), object(Closure)) in compiled.php line 8858
  13. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 2418
  14. at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in compiled.php line 8858
  15. at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
  16. at call_user_func(object(Closure), object(Request)) in compiled.php line 8849
  17. at Pipeline->then(object(Closure)) in compiled.php line 1862
  18. at Kernel->sendRequestThroughRouter(object(Request)) in compiled.php line 1852
  19. at Kernel->handle(object(Request)) in index.php line 53

Me pueden ayudar por favor a indicarme cómo debo hacer en esta nueva versión para enviar un formulario por post a un controlado?

Gracias desde ya.
  #2 (permalink)  
Antiguo 09/02/2015, 10:44
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Envío de formulario con Laravel 5

Estos tutoriales te pueden ayudar a ponerte al día.
https://laracasts.com/series/laravel-5-fundamentals
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 09/02/2015, 11:58
 
Fecha de Ingreso: diciembre-2006
Mensajes: 213
Antigüedad: 17 años, 4 meses
Puntos: 3
Respuesta: Envío de formulario con Laravel 5

Hola,

He estado revisando el material y creo saber por qué no me funciona, resulta que yo estoy usando un formulario html normal, pero el tutorial el formulario lo genera con la clase Form y esta a la vez genera un token, entonces ese token que no tengo es el que me hace falta.

Buscando por ahí en un foro sobre este mismo tema encontré en esta versión se había desactivado la clase Form por defecto ya que había otra forma de enviar un formulario, por ejemplo con ajax, y que era más rápido.

Claro, era el post de alguien dentro de un foro nada más, no era una posición oficial.

Viendo el tutorial puedo concluir entonces que la única forma de trabajar con formularios con Laravel 5 es por medio de la clase Form? lo que si me llamaría bastante la atención es que por alguno razón la desactivaron en la instalación por defecto de Laravel 5, aunque desconozco si viene desactivada por defecto en versiones anteriores (pensaría que no).

Saludos.
  #4 (permalink)  
Antiguo 09/02/2015, 18:54
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Envío de formulario con Laravel 5

En versiones anteriores a la 5 el paquete para formularios esta habilitado por defecto. En la versión 5 todas la peticiones por post solictan el token, pero lo puedes desactivar.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 10/02/2015, 08:59
 
Fecha de Ingreso: diciembre-2006
Mensajes: 213
Antigüedad: 17 años, 4 meses
Puntos: 3
Respuesta: Envío de formulario con Laravel 5

Muchas gracias por la aclaración, comento que me ha funcionado lo que indican en los vídeos del enlace que me compartiste sobre el envío de formularios por post.

Saludos
  #6 (permalink)  
Antiguo 12/04/2015, 12:10
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Desacuerdo Respuesta: Envío de formulario con Laravel 5

Cita:
Iniciado por nh2006 Ver Mensaje
...comento que me ha funcionado lo que indican en los vídeos del enlace que me compartiste sobre el envío de formularios por post.
Qué mal que sólo digas gracias y no expliques aquí cómo solucionaste el problema, nh2006

Yo llegué aquí con la esperanza de encontrar solución al mismo problema que te aquejó a ti en su momento. ¿Con qué me encuentro? Pues nada, que solucionaste tu problema, bien, y diste gracias por ello, sin compartir la solución.

Es cierto que hay un video ahí. ¿Pero qué tal que el video ya no está disponible? ¿Qué tal que no sé inglés? Y aunque supiera inglés a la perfección, la idea es que documentes aquí los pasos para la resolución de tu problema.

Somos una comunidad, no eres el único.
  #7 (permalink)  
Antiguo 12/04/2015, 13:04
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Envío de formulario con Laravel 5

Si no encuentras respuesta puedes abrir un nuevo tema colocar el código y explicar el problema con detalle y estoy seguro que encontraras respuesta o por lo menos una guía para llegar a ella
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #8 (permalink)  
Antiguo 29/06/2015, 10:16
 
Fecha de Ingreso: junio-2015
Mensajes: 1
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Envío de formulario con Laravel 5

tiene que incluir un campo oculto con el token, asi:

<input type="hidden" name="_token" value="{{ csrf_token() }}">

Etiquetas: formulario, laravel, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:15.