He estado mirando por los foros y no encuentro solucion a un problema, me encuentro con el problema que por mas que lo he intentado no soy capaz de solucionarlo.
Tengo un formulario para modificar los datos de la BB.DD. SQL, lo hago desde PHP, el formulario me muestra las fechas bien, como yo quiero "dd-mm-yyyy", el problema me viene cuando modifico los datos, o tengo que insertar de nuevo las fechas, todas o me da el siguiente error:
Warning: date_format() expects parameter 1 to be DateTime, boolean given in /srv/disk1/449478/www/trabajo.mywebcommunity.org/comite/registro/contratos/modifica.php on line 23
Warning: date_format() expects parameter 1 to be DateTime, boolean given in /srv/disk1/449478/www/trabajo.mywebcommunity.org/comite/registro/contratos/modifica.php on line 26
Warning: date_format() expects parameter 1 to be DateTime, boolean given in /srv/disk1/449478/www/trabajo.mywebcommunity.org/comite/registro/contratos/modifica.php on line 29
Cuando pongo yo las fechas en el formulario no me da el error, pero claro cuando entras a modificar un dato no modificas las fechas, y no soy capaz de dar con la solución.
Dejo el código por si alguien me puede ayudar.
Código PHP:
<?php
include "../ctrl/configuracion.php";
$fecha_alta=($_POST['fecha_alta']);//Recibe bien los datos
$fecha_modificacion=($_POST['fecha_modificacion']);//Recibe bien los datos
$fecha_baja=($_POST['fecha_baja']);//Recibe bien los datos
$obj_fecha1 = DateTime::createFromFormat('d/m/Y', $fecha_alta);
$fecha1 = date_format($obj_fecha1, "Y-m-d");//Aqui me da el error
$obj_fecha2 = DateTime::createFromFormat('d/m/Y', $fecha_modificacion);
$fecha2 = date_format($obj_fecha2, "Y-m-d");//Aqui me da el error
$obj_fecha3 = DateTime::createFromFormat('d/m/Y', $fecha_baja);
$fecha3 = date_format($obj_fecha3, "Y-m-d");//Aqui me da el error
if($error==""){
mysql_connect($server, $db_user, $db_pass) or die (mysql_error());
mysql_select_db($database)
or die ("No se pudo seleccionar la base de datos porque ".mysql_error());
mysql_query("UPDATE $contratos SET fecha_alta = '$fecha1'//Muestra bien los datos existentes en la bbdd, en el form
WHERE num_contrato = '$num_contrato'");
mysql_query("UPDATE $contratos SET fecha_modificacion = '$fecha2'//Muestra bien los datos existentes en la bbdd, en el form
WHERE num_contrato = '$num_contrato'");
mysql_query("UPDATE $contratos SET fecha_baja = '$fecha3'//Muestra bien los datos existentes en la bbdd, en el form
WHERE num_contrato = '$num_contrato'");
echo "Han quedado actualizados los datos con exito.";
}else{
echo "No Ha Sido Posible Actualizar Los Datos, Pulse <a href='modificardatos.php'><b>Aqui</b></a> para intentarlo de nuevo<br><br>";
echo "Ocurrieron Los Siguientes Errores:<br><br>".$error;
exit;
}
?>
Muchas gracias