PHP Pasar datos $_POST vacios como nulos en un array
Publicado por Enrique (2 intervenciones) el 17/10/2018 13:19:49
Hola chicos, tengo un problema: Tengo una Base de Datos que se actualiza a través de un formulario, los datos son pasados por el método POST a un controlador que los almacena en un array y los pasa a un modelo que actualiza la base de Datos.
El problema radica en que si el usuario no llena algunos de los campos (y muchas veces no necesita llenarlos todos) , los campos vacíos sobrescriben sobre el contenido y me los deja en blanco, lo que quisiera es que los campos que vengan en blanco desde POST pasen como nulos para que no borren la información existente y sólo se actualicen los campos que tengan contenido.
He realizado una prueba con la condicionante "if" y me funcionó pero sólo con un campo, no sé como plantearlo para que evalúe todos los datos POST y convierta en nulos todos los que vengan vacíos y a su vez actualice los que vengan con información.
Lo que planteé en principio fue lo siguiente:
Pero en este planteamiento sólo está incluida la primera entrada del POST y yo necesito que evalúe cada una y las vacías las pase como nulas.
¡¡Espero puedan ayudarme!!
¡Gracias de Antemano! : )
El problema radica en que si el usuario no llena algunos de los campos (y muchas veces no necesita llenarlos todos) , los campos vacíos sobrescriben sobre el contenido y me los deja en blanco, lo que quisiera es que los campos que vengan en blanco desde POST pasen como nulos para que no borren la información existente y sólo se actualicen los campos que tengan contenido.
He realizado una prueba con la condicionante "if" y me funcionó pero sólo con un campo, no sé como plantearlo para que evalúe todos los datos POST y convierta en nulos todos los que vengan vacíos y a su vez actualice los que vengan con información.
Lo que planteé en principio fue lo siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public function ctrActualizarContenido(){
if ($_POST["titular_cabecera"] == "") {
$_POST["titular_cabecera"] = null;
}else{
$datos = array("titular_cabecera"=>$_POST["titular_cabecera"],
"texto_cabecera"=>$_POST["texto_cabecera"],
"fecha_video"=>$_POST["fecha_video"],
"titular_del_video"=>$_POST["titular_del_video"],
"texto_del_video"=>$_POST["texto_del_video"],
"titular_banner"=>$_POST["titular_banner"],
"texto_banner"=>$_POST["texto_banner"],
"titular_empresa"=>$_POST["titular_empresa"],
"texto_empresa"=>$_POST["texto_empresa"]
);
Pero en este planteamiento sólo está incluida la primera entrada del POST y yo necesito que evalúe cada una y las vacías las pase como nulas.
¡¡Espero puedan ayudarme!!
¡Gracias de Antemano! : )
Valora esta pregunta


0