馃摛 Enviar y recibir datos en vistas Blade

馃摛 Enviar y recibir datos en vistas Blade

En Laravel, las vistas Blade no solo sirven para mostrar contenido est谩tico, sino que tambi茅n permiten **enviar y recibir datos din谩micos** entre el controlador y la vista. Esto es clave para crear formularios, recibir informaci贸n del usuario y procesarla en el backend.

馃摡 1️⃣ Enviar datos desde el controlador a la vista

Para enviar datos, usamos el m茅todo view() pasando un arreglo o la funci贸n compact():

// app/Http/Controllers/FormularioController.php

public function mostrarFormulario() {
    $mensaje = "Completa el siguiente formulario para enviarnos tus datos.";
    return view('formulario', compact('mensaje'));
}
                

Y en la vista resources/views/formulario.blade.php podemos mostrar esa variable f谩cilmente:

{{ $mensaje }}

馃摑 2️⃣ Crear un formulario en Blade

Laravel facilita el manejo de formularios usando HTML puro o con la clase Request. Aqu铆 tienes un ejemplo b谩sico con un formulario Blade:





    
    Formulario en Laravel


    

Formulario de contacto

@csrf



El uso de @csrf genera un token 煤nico que protege tu formulario de ataques CSRF (Cross-Site Request Forgery).

⚙️ 3️⃣ Recibir datos en el controlador

Cuando el usuario env铆a el formulario, los datos llegan al m茅todo del controlador que maneja la petici贸n. Para capturarlos, Laravel usa la clase Request:

// app/Http/Controllers/FormularioController.php

use Illuminate\Http\Request;

public function procesarFormulario(Request $request) {
    $nombre = $request->input('nombre');
    $correo = $request->input('correo');

    return view('respuesta', compact('nombre', 'correo'));
}
            

En este ejemplo, los datos del formulario son recibidos, procesados y enviados nuevamente a una vista llamada respuesta.blade.php.

馃摤 4️⃣ Mostrar los datos recibidos en la vista

Finalmente, en la vista resources/views/respuesta.blade.php podemos mostrar la informaci贸n enviada:





    
    Datos Recibidos


    

Datos del formulario

Nombre: {{ $nombre }}

Correo: {{ $correo }}

馃殾 5️⃣ Definir las rutas del formulario

Para que todo funcione correctamente, debemos definir las rutas en routes/web.php:

// routes/web.php

use App\Http\Controllers\FormularioController;

Route::get('/formulario', [FormularioController::class, 'mostrarFormulario'])->name('formulario.mostrar');
Route::post('/formulario', [FormularioController::class, 'procesarFormulario'])->name('procesar.formulario');
            

馃挕 Recuerda usar los m茅todos correctos (GET para mostrar y POST para procesar).

✅ Conclusi贸n

  • 馃摛 Los datos se env铆an desde los controladores a las vistas con view().
  • 馃Ь Los formularios en Blade usan @csrf para proteger las peticiones.
  • 馃摜 Los datos se reciben en el controlador con la clase Request.
  • 馃洠️ Las rutas se definen en routes/web.php usando los m茅todos GET y POST.

En la siguiente lecci贸n veremos c贸mo trabajar con migraciones de base de datos en Laravel, para crear y modificar tablas f谩cilmente desde Artisan.



Publicar un comentario

0 Comentarios