Demasiado código:
Código PHP:
<?php //insertar fecha de manera automatica
$fecha = time ();
$f_ing_insert = date ( "Y-m-d h:i:s" , $fecha );
$hora = time ();
$h_ing_insert = time ( "h:i:s" , $hora );
?>
<input type="hidden" name="fecha" value=<?php echo "'".$f_ing_insert."'";?> />
<input type="hidden" name="hora" value=<?php echo "'".$h_ing_insert."'";?>
Mejor:
Código:
<input type="hidden" name="fecha" value=<?=date("Y-m-d h:i:s")?> />
<input type="hidden" name="hora" value=<?=date("h:i:s")?> />
date(); asume por defecto time(); salvo le especifiques otro unix-timestamp. Aunque por otro lado es tontería poner en un formulario datos de tiempo, ya que la hora que saldrá sera la hora exacta en la que el usuario cargo la página, y no la hora que ingreso en el sistema, pudiendo dar datos imprecisos si se quiere tener un control exacto.
Es mejor que uses en la sentencia SQL el ' " . date("tu formato de fecha") . " ' para tomar el valor en el momento preciso de loggeo.
<? ?> es igual que <?php ?>, <?="blah"?> es igual que <? echo "bleh"; ?> y que <? print "blih"; ?>
En cuanto a lo que necesitas, primero debes hacer un SELECT:
Código PHP:
if ($link = mysql_connect("localhost","user","pass")) {
$sql = "SELECT * FROM tabla_usuarios WHERE campo1='criterio1' AND campo2='criterio2'";
$rows = mysql_affected_rows(mysql_db_query("base_de_datos",$sql));
if ($rows) {
$sql = "INSERT INTO tabla_control (dato1,dato2,dato3) VALUES (' " . $var1 . " ',' " . $var2 . " ',' " . $var3 . " ')";
mysql_db_query("base_de_datos",$sql);
} else { /* han metido mal los datos, manda un error o el formulario de nuevo*/ }
} else { die("Imposible conectar con la base de datos."); }
Una vez coincidan los datos que necesites verificar procedes a insertar lo que quieras donde quieras.
De todas formas debería funcionar lo que te puso halt, quizá tengas otro error en el código.
Saludos.