馃摛 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
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
@csrfpara proteger las peticiones. - 馃摜 Los datos se reciben en el controlador con la clase
Request. - 馃洠️ Las rutas se definen en
routes/web.phpusando los m茅todosGETyPOST.
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.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias