Foros del Web » Programando para Internet » PHP »

Enviar fecha con un formulario a BBDD

Estas en el tema de Enviar fecha con un formulario a BBDD en el foro de PHP en Foros del Web. Muy buenas. Necesito una pequeña ayuda, con algo que creo que no es dificil, pero que por algun motivo ahora mismo no consigo recordarlo. Quiero ...
  #1 (permalink)  
Antiguo 12/04/2013, 04:31
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 9 meses
Puntos: 6
Enviar fecha con un formulario a BBDD

Muy buenas.
Necesito una pequeña ayuda, con algo que creo que no es dificil, pero que por algun motivo ahora mismo no consigo recordarlo.
Quiero que cuando un usuario se registra en la web y rellene el formulario en un campo hidden ( creo que es la forma correcta) se envie la fecha.
Código:
<form>
<input type="hidden" name="fecha" />
</form>
Cuando lo envio a la BBDD uso es php
Código:
<?php
include("comp/conexion.php");
		$name =mysql_real_escape_string ($_POST["nombre"]);
		$surname =mysql_real_escape_string ($_POST["apellidos"]);
		$email =mysql_real_escape_string ($_POST["email_addr"]);
		$email2 =mysql_real_escape_string ($_POST["email_addr_repeat"]);
		$password =mysql_real_escape_string( $_POST["password"]);
                $fecha=($POST["fecha"]);
		$fecha= date(d-m-y);
		$salt='Cualquier cosa puede ser';
		$encPass=md5($password.md5($salt));
		mysql_query("INSERT INTO perfil (name,surname,email,password,tipo,dia,mes,ano,reg)
        VALUES ('".$_POST['nombre']."','".$_POST['apellidos']."','".$_POST['email_addr_repeat']."','".md5($_POST['password'])."','".$_POST['tipo']."','".$_POST['dia']."','".$_POST['mes']."','".$_POST['ano']."','".$fecha."')",$conexion);
		if (mysql_errno($conexion))
		{
			echo "No se pudo insertar los datos en la tabla. Error" .mysql_errno() ." - ".mysql_error();
			mysql_close($conexion);
		}	else{
			$conexion;
			header("location:inicio.php");
			}
		
		
?>
En la bbdd se recoje el valor de fecha en el campo REG.
Alguien podria decirme por que no se guarda este dato?
Resumiendo.
Necesito que al enviar el formulario se envie a la bbdd la fecha de registro.
Un saludo y espero que podais ayudarme.
__________________
http://www.paxarindesign.es
  #2 (permalink)  
Antiguo 12/04/2013, 05:52
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 13 años
Puntos: 67
Respuesta: Enviar fecha con un formulario a BBDD

No entiendo para que un campo hidden.
Lo puedes hacer perfectamente en el código PHP o en la consulta SQL, si ambos servidores están en el mismo lugar o zona horaria te dará lo mismo, hacerlo así (este es el formato adecuado):
Código PHP:
Ver original
  1. $fecha = date('Y-m-d H:i:s');

Que en la cosulta:
Código SQL:
Ver original
  1. INSERT INTO tabla (..., fecha, ...) VALUES (..., NOW(), ...);
__________________
Dicen que las personas piensan en su lengua materna, yo lo hago en PHP
  #3 (permalink)  
Antiguo 12/04/2013, 08:23
 
Fecha de Ingreso: marzo-2013
Mensajes: 21
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Enviar fecha con un formulario a BBDD

Podrías poner por default que ese campo sea llene con la fecha actual, al momento de crear la tabla en la base de datos estableces esa regla. asi cada vez que hagas un INSERT ese campo se llena automáticamente con la fecha actual o la fecha en la que se hace el INSERT.

Te dejo un ejemplo:

Código SQL:
Ver original
  1. CREATE TABLE `fac_cabecera` (
  2.   `ov` CHAR(4) NOT NULL,
  3.   `cod_cli` VARCHAR(255) NOT NULL,
  4.   `area_cli` VARCHAR(255) DEFAULT NULL,
  5.   `peri_fac` INT(11) DEFAULT NULL,
  6.   `fc_fac` TIMESTAMP NULL DEFAULT NULL,
  7.  
  8.   `fa_fac` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  9.  
  10.   `f_envio` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
  11.   `total_fac` DECIMAL(10,4) NOT NULL,
  12.   `igv_fac` DECIMAL(10,4) NOT NULL,
  13.   `cod_usu` VARCHAR(255) NOT NULL,
  14.   `desc_fac` DECIMAL(10,4) NOT NULL,
  15.   `anio_fac` INT(11) DEFAULT NULL,
  16.   `observacion` VARCHAR(255) DEFAULT NULL,
  17.   `oc` VARCHAR(255) DEFAULT NULL,
  18.   PRIMARY KEY  (`ov`,`cod_cli`)
  19. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Espero te ayude
  #4 (permalink)  
Antiguo 12/04/2013, 08:55
Avatar de zetahosting  
Fecha de Ingreso: octubre-2011
Mensajes: 119
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: Enviar fecha con un formulario a BBDD

cambia tu insert por este:


mysql_query("INSERT INTO perfil (name,surname,email,password,tipo,dia,mes,ano,reg)
VALUES ('".$_POST['nombre']."','".$_POST['apellidos']."','".$_POST['email_addr_repeat']."','".md5($_POST['password'])."','".$_POST['tipo']."','".$_POST['dia']."','".$_POST['mes']."','".$_POST['ano']."',NOW())",$conexion);
__________________
Excelente WebHosting -> www.zetahosting.net
[email protected]
Twitter: @zetahosting
  #5 (permalink)  
Antiguo 16/04/2013, 03:17
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Enviar fecha con un formulario a BBDD

Muchas gracias a todos por vuestras respuestas.
__________________
http://www.paxarindesign.es
  #6 (permalink)  
Antiguo 16/04/2013, 03:17
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Enviar fecha con un formulario a BBDD

Cita:
Iniciado por Shizuo Ver Mensaje
Podrías poner por default que ese campo sea llene con la fecha actual, al momento de crear la tabla en la base de datos estableces esa regla. asi cada vez que hagas un INSERT ese campo se llena automáticamente con la fecha actual o la fecha en la que se hace el INSERT.

Te dejo un ejemplo:

Código SQL:
Ver original
  1. CREATE TABLE `fac_cabecera` (
  2.   `ov` CHAR(4) NOT NULL,
  3.   `cod_cli` VARCHAR(255) NOT NULL,
  4.   `area_cli` VARCHAR(255) DEFAULT NULL,
  5.   `peri_fac` INT(11) DEFAULT NULL,
  6.   `fc_fac` TIMESTAMP NULL DEFAULT NULL,
  7.  
  8.   `fa_fac` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  9.  
  10.   `f_envio` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
  11.   `total_fac` DECIMAL(10,4) NOT NULL,
  12.   `igv_fac` DECIMAL(10,4) NOT NULL,
  13.   `cod_usu` VARCHAR(255) NOT NULL,
  14.   `desc_fac` DECIMAL(10,4) NOT NULL,
  15.   `anio_fac` INT(11) DEFAULT NULL,
  16.   `observacion` VARCHAR(255) DEFAULT NULL,
  17.   `oc` VARCHAR(255) DEFAULT NULL,
  18.   PRIMARY KEY  (`ov`,`cod_cli`)
  19. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Espero te ayude
La verdad que con esto me perdi un poco.
Pero de todas formas intentare comprenderlo.
Gracias por tu respuesta.
__________________
http://www.paxarindesign.es

Etiquetas: bbdd, fecha, formulario, mysql, registro, 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 12:39.