te creado este codigo que creo que es lo que quieres:
fichar.php
Código PHP:
<?php
$cxn = mysql_connect($host, $usuario, $password) or die ("Could not connect: " . mysql_error());
mysql_select_db($bd, $cxn) or die(mysql_error());
if(isset($_POST[BotonFicha])){
$hora = date ('G:i:s');
$fecha = date ("j/n/Y");
$ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
$user = $_SESSION['login'];
$entra_sale = $_POST['ensa'];
//si en tu base datos el id es autoincrement puedes obviarlo
$Select = "INSERT INTO fichaje (user,fecha,hora,IP,entrada_salida)
VALUES ('".$user."','".$fecha."','".$hora."','".$ip."','".$entra_sale."')";
$res = mysql_query($Select,$cxn) or die(mysql_error());
if ($res) {
echo $user.' acabas de fichar la '.$entra_sale.' a las '.$hora.' del dia '.$fecha;
echo '<br><br> Muchas Gracias.';
} else {
echo 'No se ha fichado, consulte con su administrador';
}
if($entra_sale == "Salida"){//esto es para que cuando ya ha fichado las dos cosas, como siempre vuelve salir el formulario , paramos aqui el codigo y ya no sale el form
exit;
}
}
$head='<form name="ficha" method="post" action="fichar.php" >
<table border=0>
<tr><td>Fiche:</td></tr>';
$foot='<tr><td><input type="submit" name="BotonFicha" value="Fichar"></td></tr></table>
</form>';
$ftiempo = time ();
$fecha = date ("j/n/Y");
$Select = "SELECT entrada_salida
FROM fichaje
WHERE user='".$_SESSION['login']."'
AND fecha='".$fecha."'";
$Query = mysql_query($Select, $cxn) or die(mysql_error());
$rows = mysql_num_rows($Query);
switch ($rows){
case 2:
echo "Ya has fichado la Entrada y la Salida";
break;
case 1:
echo $head;
$row = mysql_fetch_array($Query);
$contES = $row['entrada_salida'];
if($contES == "Entrada"){
echo '<tr><td><input type="Radio" name="ensa" value="Salida" checked> Salida</td></tr>' ;
} else {
echo '<tr><td><input type="Radio" name="ensa" value="Entrada" checked> Entrada</td></tr>';
}
echo $foot;
break;
case 0:
echo $head;
echo '<tr><td><input type="Radio" name="ensa" value="Entrada" checked> Entrada</td></tr>';
echo $foot;
break;
}
mysql_close($cxn);
?>