📤 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