Foros del Web » Programando para Internet » PHP »

actualizar fechas

Estas en el tema de actualizar fechas en el foro de PHP en Foros del Web. Hola buenas tardes. He estado mirando por los foros y no encuentro solucion a un problema, me encuentro con el problema que por mas que ...
  #1 (permalink)  
Antiguo 17/01/2019, 16:11
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
actualizar fechas

Hola buenas tardes.

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
  #2 (permalink)  
Antiguo 17/01/2019, 16:25
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: actualizar fechas

Cita:
Iniciado por jeyn Ver Mensaje
Hola buenas tardes.

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.

.................

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

}
?>

Muchas gracias
bueno creo que el problema esta en el concepto que tienes de la pagina PHP,

indicas que funciona bien cuando lo haces por FOrmulario y MAl cuando quieres editarlo, es de suponer que es por que en tu PHP estas obtenido los datos via POST
como "fecha_alta" , "fecha_baja" y "fecha_modificacion" entonces el problema esta que tu formulario envia esos datos en METODO POST, y cuando quieres "editarlo" estas haciendo enviando informacion de "fecha_alta" etc, por METODO GET

algo asi

tuarchivo.php?fecha_alta=2018-1-01

y en tu codigo php
Código PHP:
$fecha_alta=($_POST['fecha_alta']);//Recibe bien los datos 
estas explicitamente esperando ese dato por POST, en el mundo WEB, existen varios tipos ,GET,POST,PUT,DELETE,HEADER,

ahora lo mas facil de hacer para corregir, y hacer que aceptes los datos tanto GET,y POST
usa en lugar de $_POST un $_REQUEST

Código PHP:
$fecha_alta=($_REQUEST['fecha_alta']);//Recibe bien los datos 
el $_REQUEST , combina las variables $_GET,$_POST y $_COOKIE
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #3 (permalink)  
Antiguo 17/01/2019, 16:37
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: actualizar fechas

Si es cierto que el form envía por post

Código PHP:
<form action="modifica.php" method="post"
En ese form se ven bien los datos, pero las fechas o las renombras todas o da el error.

He probado a recibir como me as dicho con

Código PHP:
$fecha_alta=($_REQUEST['fecha_alta']); 
Me da el mismo error,

Última edición por jeyn; 17/01/2019 a las 16:38 Razón: error html por php
  #4 (permalink)  
Antiguo 17/01/2019, 16:42
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: actualizar fechas

Deberia de enviar por GET?
  #5 (permalink)  
Antiguo 17/01/2019, 16:50
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: actualizar fechas

He probado a enviar por GET y me continua dando el mismo error

Código PHP:
<form action="modifica.php" method="GET"
Y recibirlo:

Código PHP:
$fecha_alta=($_GET['fecha_alta']); 
Bueno eso en las tres fechas

Y el error sigue igual:

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

No doy con la solucion
  #6 (permalink)  
Antiguo 18/01/2019, 06:25
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: actualizar fechas

Muchas gracias, pero lo dejo por imposible, me acostumbrare a las fechas de sql, con el formato y-m-d.

Gracias de nuevo.

Etiquetas: mysql, query, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:33.