¿Codeigniter 4 forms – Cómo crearlos?

codeigniter 4 forms

En este artículo veremos CodeIgniter 4 Forms , con el uso de la clase de seguridad, usaremos la herramienta de línea de comandos y manejo de rutas.

¿Cómo crear forms en Codeigniter 4?

Primero es necesario crear un controlador, ingresaremos el siguiente comando, si no conoces los fundamentos de este framework lee el siguiente artículo tutorial codeigniter 4.

php spark make:controller Persons

El cual creará la estructura base de un controlador en codeigniter 4, trabajaremos con un controlador llamado Persons.

codeigniter 4 forms paso 1

Agregaremos el siguiente código dentro del controlador.


	namespace App\Controllers;

	use App\Controllers\BaseController;

	class Persons extends BaseController
	{

		public function __construct()
		{		
			helper('form');
		}

		public function index()
		{
			return view('persons');
		}

		public function create()
		{
			$email = $this->request->getPost('email');
			$password = $this->request->getPost('password');

			dd($email.$password);
		}

	}
		

Crearemos una nueva vista en nameProject / app / Views / persons.php y agregaremos el siguiente método return view (‘persons’); , donde pasaremos la vista de personas como parámetro al método de vista, creamos un constructor donde cargaremos el helper (‘form’); 

Creamos el conjunto de rutas necesarias de tipo get y post.


$routes->get('/persons', 'Persons::index');		
		

$routes->post('/persons', 'Persons::create');
		

Verificamos el conjunto de rutas.


php spark routes
		

rutas

Iremos al navegador para mostrar la vista.

vistas

En la vista de personas creamos el siguiente formulario, usaremos 2 métodos para la protección CSRF.

codeigniter 4 CSRF

Habilitaremos la protección CSRF en el archivo .env.


	#--------------------------------------------------------------------
	# SECURITY
	#--------------------------------------------------------------------

	  security.tokenName = 'csrf_token_name'
	  security.headerName = 'X-CSRF-TOKEN'
	  security.cookieName = 'csrf_cookie_name'
	  security.expires = 7200
	  security.regenerate = true
	  security.redirect = true
	  security.samesite = 'Lax'
		

Enviamos una solicitud de tipo de POST y mostramos el resultado.

codeigniter 4 post