PHP - crear campo oculto con la fecha

   
Vista:

crear campo oculto con la fecha

Publicado por magotas (8 intervenciones) el 05/05/2010 09:39:06
Hola a todos. Supongo que la respuesta será sencilla pero por más que pruebo cosas que encuentro en este y otros foros me siento negado de hacerlo.

He creado un formulario que guarda una serie de datos en la BBDD y funciona correctamente. Ahora quiero que además de una serie de campos que rellena el usuario, se guarde la fecha del día y no quiero que la meta el usuario, quiero que la coja del sistema. Para ello he supuesto que lo más sencillo sería un campo oculto y asignarle el valor de una variable PHP donde recoja la fecha. Pero soy incapaz de lograrlo.

He creado una variable y le paso un valor con esta sentencia.

$hoy = getdate();

He creado un campo oculto.
He probado varias opciones leídas en distintos foros para asignarle el valor al campo oculto. La última que probé y dejé ya por imposible es

<input name="oculto_fecha" type="hidden" id="oculto_fecha" value="<?php echo $hoy; ?>" />

Pero aunque luego modifico la inserción de registros hasta con el asistente de DW, me reconoce el campo oculto y me permite coger el valor del mismo al final a la BBDD me llega la fecha todo a ceros con el formato 000-00-00.

¿Alguien me puede decir donde cometo el error?

Y otra cosa que tampoco se hacer bien es asignar el valor de una variable de sesión a un campo. ¿Esta linea está bien escrita?
<td><input name="campo_idusuario" type="text" id="campo_idusuario" value = <?php $_SESSION['MM_Username']; ?>/></td>

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:crear campo oculto con la fecha

Publicado por magotas (8 intervenciones) el 05/05/2010 13:25:46
He seguido trabajando en ello y he resuelto una parte del problema, lo que afectaba a asignar el valor de la variable de la sesión a un campo oculto.

Pero sigo fallando con la asignación de la fecha aunque he probado 2 sistemas.

Opción 1.

Obtengo el valor a guardar.
$hoy = getdate();

Lo meto en la sql que se lanzará.
$insertSQL = sprintf("INSERT INTO peticiones (USUARIO, FECHA) VALUES (%s, $hoy)"
GetSQLValueString($_POST['campo_idusuario'], "text"));

Eso no me ha funcionado, me da un error de SQL que no se solucionar.

Opción 2.

Obtengo el valor a guardar.
$hoy = getdate();

Lo meto en la sql que se lanzará.
$insertSQL = sprintf("INSERT INTO peticiones (USUARIO, FECHA) VALUES (%s, %s)",
GetSQLValueString($_POST['campo_idusuario'], "text"),
GetSQLValueString($_POST['oculto_fecha'], "date"));

Y he definido el campo oculto_fecha así:
<input name="oculto_fecha" type="hidden" id="oculto_fecha" value="<?php echo $hoy; ?>" />

Esto funciona sin dar errores pero en la base de datos la fecha es siempre 0000-00-00, lo cual no es óptimo.

Me da un poco igual cual de las 2 opciones usar pero ninguna me funciona. ¿Alguien me sabe decir porqué fallan?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:crear campo oculto con la fecha

Publicado por Diego Romero (1450 intervenciones) el 06/05/2010 12:43:48
Es que le estás tratando de meter un dato al campo FECHA que no está bien formateado para el tipo de campo. En SQL los campos tipo DATE tienen el formato AAAA-MM-DD y tu variable $hoy (o $_POST['oculto_fecha']) no tiene ese formato.

Prueba lo siguiente:

$hoy = date("Y-m-d");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar