Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Inserta fecha y hora actual con php y mysql

Estas en el tema de Inserta fecha y hora actual con php y mysql en el foro de PHP en Foros del Web. Hola tengo un problema y no doy con la solución. Estoy creando una página para subir imágenes y datos de la imágen a una base ...
  #1 (permalink)  
Antiguo 28/05/2013, 18:32
Avatar de rulises  
Fecha de Ingreso: enero-2008
Mensajes: 54
Antigüedad: 16 años, 3 meses
Puntos: 0
Inserta fecha y hora actual con php y mysql

Hola tengo un problema y no doy con la solución.
Estoy creando una página para subir imágenes y datos de la imágen a una base de datos con mysql.

el formulario que utilizo es este:

<form action="subir.php" method="POST" enctype="multipart/form-data" id="form_subir_entrada">
<table width="100%">
<tr>
<td scope="col">Cargar imágen</td>
<td scope="col"><input type="file" name="Imagen" id="Imagen" /></td>
</tr>
<tr>
<td>Titulo</td>
<td><label for="Titulo_Fotografia"></label>
<input name="Titulo_Fotografia" type="text" id="Titulo_Fotografia" size="45" /></td>
</tr>
<tr>
<td>Atributos</td>
<td><label for="ALT_Imagen"></label>
<input name="ALT_Imagen" type="text" id="ALT_Imagen" size="45" /></td>
</tr>
<tr>
<td>Premios</td>
<td><label for="Premios_Fotografia"></label>
<textarea name="Premios_Fotografia" id="Premios_Fotografia" cols="45" rows="15"></textarea></td>
</tr>
<tr>
<td><input name="Fecha_Entrada" type="hidden" id="Fecha_Entrada" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td><input name="Nombre_Usuario" type="hidden" id="Nombre_Usuario" value="<?php echo $_SESSION['MM_Username']; ?>" /></td>
<td><input type="submit" name="Subir" id="Subir" value="Crear" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<br />
</form>

y se direge a la página subir.php que contiene este codigo:

<?php
//conexion a la base de datos
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("francisco") or die(mysql_error()) ;

//comprobamos si ha ocurrido un error.
if ($_FILES["Imagen"]["error"] > 0){
echo "ha ocurrido un error";
} else {
//ahora vamos a verificar si el tipo de archivo es un tipo de imagen permitido.
//y que el tamano del archivo no exceda los 1800kb
$permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png", "image/bmp");
$limite_kb = 1800;

if (in_array($_FILES['Imagen']['type'], $permitidos) && $_FILES['Imagen']['size'] <= $limite_kb * 2048){
//esta es la ruta donde copiaremos la imagen
//recuerden que deben crear un directorio con este mismo nombre
//en el mismo lugar donde se encuentra el archivo subir.php
$ruta = "../Media/Imagenes/" . $_FILES['Imagen']['name'];
//comprobamos si este archivo existe para no volverlo a copiar.
//pero si quieren pueden obviar esto si no es necesario.
//o pueden darle otro nombre para que no sobreescriba el actual.
if (!file_exists($ruta)){
//aqui movemos el archivo desde la ruta temporal a nuestra ruta
//usamos la variable $resultado para almacenar el resultado del proceso de mover el archivo
//almacenara true o false
$resultado = @move_uploaded_file($_FILES["Imagen"]["tmp_name"], $ruta);
$tit =$_POST['Titulo_Fotografia'];
$atributos =$_POST['ALT_Imagen'];
$award =$_POST['Premios_Fotografia'];
$_SESSION =$_POST['Nombre_Usuario'];
$date =$_POST['Fecha_Entrada'];
if ($resultado){
$nombre = "Media/Imagenes/".$_FILES['Imagen']['name'];
@mysql_query("INSERT INTO fotografias (Imagen,Titulo_Fotografia,ALT_Imagen,Premios_Fotog rafia,Nombre_Usuario,Fecha_Entrada) VALUES ('$nombre','$tit','$atributos','$award','$_SESSION ','$date')") ;
echo "La imágen ha sido cargada correctamente";
} else {
echo "ocurrio un error al cargar la imágen. Compruebe todos los campos.";
}
} else {
echo $_FILES['Imagen']['name'] . ", Este archivo existe.
No se ha podido crear la entrada en la galería.";

}
} else {
echo "archivo no permitido, es tipo de archivo prohibido o excede el tamano de $limite_kb Kilobytes";
}
}

?>

el problema es que la fecha se inserta en la tabla fotografias de este modo 0000-00-00 00:00:00 y quiero que aparezca de esta manera 2013-05-28 02:53:36.

Gracias por vuestra ayuda.
  #2 (permalink)  
Antiguo 28/05/2013, 19:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Inserta fecha y hora actual con php y mysql

Cita:
el problema es que la fecha se inserta en la tabla fotografias de este modo 0000-00-00 00:00:00 y quiero que aparezca de esta manera 2013-05-28 02:53:36.
Altamente probable que la variable esté entrando vacía, o con un valor ilegal para un DATETIME de la base.
Verifica exactamente qué es lo que recibes en ella.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/05/2013, 08:17
Avatar de rulises  
Fecha de Ingreso: enero-2008
Mensajes: 54
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Inserta fecha y hora actual con php y mysql

He probado a darle valores y nada.
No sé si lo hago bien.
Podrías indicarme como sería con un elemplo por favor.
Gracias
  #4 (permalink)  
Antiguo 29/05/2013, 08:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Inserta fecha y hora actual con php y mysql

Mas que darte ejemplos, te diría que nos pases lo que estás generando tu...
Cambia esto:
Código PHP:
Ver original
  1. mysql_query("INSERT INTO fotografias (Imagen,Titulo_Fotografia,ALT_Imagen,Premios_Fotog rafia,Nombre_Usuario,Fecha_Entrada) VALUES ('$nombre','$tit','$atributos','$award','$_SESSION ','$date')") ;

por esto:
Código PHP:
Ver original
  1. $sql = "INSERT INTO fotografias (Imagen,Titulo_Fotografia,ALT_Imagen,Premios_Fotog rafia,Nombre_Usuario,Fecha_Entrada) VALUES ('$nombre','$tit','$atributos','$award','$_SESSION ','$date'";
  2. echo $sql;
  3. $result = mysql_query($sql) ;
Copia lo que muestre como sentencia y postealo acá. Veremos si tiene o no defectos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 29/05/2013, 16:08
Avatar de rulises  
Fecha de Ingreso: enero-2008
Mensajes: 54
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Inserta fecha y hora actual con php y mysql

Hola.
Cambiando lo que me dices, no crea la entrada en la tabla.
Y me sale esto al crear la entrada, pero como te digo no ingresa los datos en la tabla.

INSERT INTO fotografias (Imagen,Titulo_Fotografia,ALT_Imagen,Premios_Fotog rafia,Nombre_Usuario,Fecha_Entrada) VALUES ('Media/Imagenes/Fruit1.jpg','fruta','fruta','1º premio','1',''La imágen ha sido cargada correctamente

Gracias
  #6 (permalink)  
Antiguo 29/05/2013, 16:27
Avatar de rulises  
Fecha de Ingreso: enero-2008
Mensajes: 54
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Inserta fecha y hora actual con php y mysql

He cambiado:
$date =$_POST['Fecha_Entrada'];
por
$date = "Fecha_Entrada";

y
@mysql_query("INSERT INTO fotografias (Imagen,Titulo_Fotografia,ALT_Imagen,Premios_Fotog rafia,Nombre_Usuario,Fecha_Entrada) VALUES ('$nombre','$tit','$atributos','$award','$_SESSION ','$date')") ;
por
@mysql_query("INSERT INTO fotografias (Imagen,Titulo_Fotografia,ALT_Imagen,Premios_Fotog rafia,Nombre_Usuario,Fecha_Entrada) VALUES ('$nombre','$tit','$atributos','$award','$_SESSION ', now())") ;

he quitado <input name="Fecha_Entrada" type="hidden" id="Fecha_Entrada" /> del formulario

Y solucionado.
Gracias por tu colaboración

Etiquetas: actual, fecha, formulario, inserta, mysql, select, sql, tabla
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 18:43.