Mi problema es el siguiente, pienso que básico pero no se porque no me funciona la condición.
Tengo un formulario en el cual hay varios campos que se pueden modificar para luego actualizar con un
Cita:
en otro fichero.UPDATE
Bien el form contiene un campo
Cita:
para permitir seleccionar una imagen nueva, sino se selecciona se deja la anterior.type='file'
Código HTML:
Ver original
Cuando relleno los campos y selecciono una nueva imagen a subir en el type='file', el código funciona sin mostrar errores.
Pero cuando no selecciono ninguna imagen en el input type='file', el fichero que procesa el UPDATE me muestra fallos en la creación de la imagen.
Estoy haciendo un IF ELSE para conocer si se pasa un valor a esa $VARIABLE, de esta forma, pero no consigo quitar el error Cuando no se elige imagen. aunque el código funciona pero muestra ell error.
El fichero es:
Código PHP:
Ver original
<?php /**** DATOS DE CONEXION **********/ $hotsdb = "localhost"; //valor de nuestra BD $basededatos = "control3"; //sera el valor de nuestra BD $usuariodb = "root"; //sera el valor de nuestra BD $clavedb = ""; //sera el valor de nuestra BD NO EXISTE"); $cadena = ""; $codtrabajo=$_POST["codtrabajo"]; $estado=$_POST["estado"]; $pagado=$_POST["pagado"]; $observacion=$_POST["observacion"]; $descripcion=$_POST["descripcion"]; $precio=$_POST["precio"]; $fecha_entrada=$_POST["fecha_entrada"]; $fecha_entrega=$_POST["fecha_entrega"]; $ac=$_POST["ac"]; //IF para nombre de la imagen, si se escribe se realiza este UPDATE sino el de ELSE //$imagen = $FILES['imagen']; /************ imagen visualizacion y creacion ***********/ $nombre = "camisa-" . $codtrabajo ; //imagepng($im); //visualiza en naveg $query = " UPDATE trabajos tr SET tr.codtrabajo= '".$codtrabajo."', tr.estado= '".$estado."', tr.pagado= '".$pagado."', tr.observacion= '".$observacion."', tr.descripcion= '".$descripcion."', tr.precio= '".$precio."', tr.tipo_imagen = '".$nombre."', tr.fecha_entrada= '".$fecha_entrada."', tr.fecha_entrega= '".$fecha_entrega."', tr.ac= '".$ac."' WHERE tr.codtrabajo = '".$codtrabajo."' "; include('cierra_conexion.php'); } //$imagen = $FILES['imagen']; $query = " UPDATE trabajos tr SET tr.codtrabajo= '".$codtrabajo."', tr.estado= '".$estado."', tr.pagado= '".$pagado."', tr.observacion= '".$observacion."', tr.descripcion= '".$descripcion."', tr.precio= '".$precio."', tr.fecha_entrada= '".$fecha_entrada."', tr.fecha_entrega= '".$fecha_entrega."', tr.ac= '".$ac."' WHERE tr.codtrabajo = '".$codtrabajo."' "; include('cierra_conexion.php'); } else { echo "No hay cambios."; } ?>
Los errores que muestra en pantalla cuando no selecciono ninguna imagen son estos:
Código PHP:
Ver original
Warning: imagecreatefrompng(): Filename cannot be empty in C:\xampp\htdocs\controltrabajos\trabajos_consultar3.php on line 161 Warning: imagecolorallocate() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\controltrabajos\trabajos_consultar3.php on line 162 Warning: imagesx() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\controltrabajos\trabajos_consultar3.php on line 163 Warning: imagestring() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\controltrabajos\trabajos_consultar3.php on line 164 Warning: imagepng() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\controltrabajos\trabajos_consultar3.php on line 166 Warning: imagedestroy() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\controltrabajos\trabajos_consultar3.php on line 167
Y no debería ya que para eso esta la condición IF que si no selecciono imagen en el input file se salte ese trozo de código.
¿¿ Que puede ser.??
Un saludoo y gracias !!