Buenos días:
Estoy intentando grabar la IP y la fecha y hora de entrada de los usuarios de la web y no hay forma de que se registren en la BBDD (Mysql).
Os pego el código porque ya no se que más intentar.
Un saludo y gracias.
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php
session_start();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" type="text/css" href="index.css"/>
<title></title>
</head>
<body>
<?php
//Se añade el archivo conexion.php que posee los parametros de conexion
include_once "conexion.php";
//Se recogen los dos campos enviados por el formulario de inicio de sesion
$nick = $_POST["txtNick"];
$pwd = $_POST["txtPwd"];
//En esta cadena se irá almacenando todos los posibles errores que se vayan produciendo.
$cadenaerror="";
//Se comprueba si se han introducido datos en el formulario de inicio de sesion.
if($nick=="" || $pwd=="")
{
?>
<script>
window.location.href = "index.php";
</script>
<?php
}
else
{
//Se crea una consulta para comprobar si el usuario existe
$sql = "SELECT id_usuarios,nombre,password,usuarioweb,baja,fecvalidez FROM usuarios WHERE nombre='$nick' and password='$pwd'";
//Se crea una conexion y se recoge los datos de la consulta
$registros=conexion($sql);
//Comprobamos si hemos recibido algun registro de la consulta, si obtenemos
// un valor de 0 significa que el usuario no esta en la B.D.
if (mysql_num_rows($registros) == 0)
{
?>
<script>
window.location.href = "index.php";
</script>
<?php
}
else
{
$cadenaerror="Se han producido los siguientes errores:<br>";
//Esta variable se igualará a 'cero' en el caso que se produzca algún error
// y si es así no se realizará la creación de la sesión.
$exito=1;
$campo = mysql_fetch_array($registros);
//var_dump($campo);
//Comprobamos si el usuario esta dado de alta en el servicio Web [0=No dado de alta][1=Dado de alta]
if ($campo["usuarioweb"]==0)
{
$cadenaerror=$cadenaerror."El usuario no está dado de alta en el servicio web.<br>";
$exito=0;
}
//Comprobamos si el usuario esta dado de baja en el sistema [0=No dado de baja][1=Dado de baja]
if($campo["baja"]==1)
{
$cadenaerror=$cadenaerror."El usuario está dado de baja en el sistema.<br>";
$exito=0;
}
//Comprabamos la validez de su fecha con la hora del servidor, si esta es mas baja el usuario estará
// caducado. NOTA!!! La hora que se obtiene es la del servidor (DEBE ESTAR UNA HORA ATRASADO)
if($campo["fecvalidez"]<date('Y-m-d'))
{
$cadenaerror=$cadenaerror."El usuario está caducado.<br>";
$exito=0;
}
if($exito==1)
{
$ipuser=$_SERVER['REMOTE_ADDR'];
$fechahora=date('Y-m-d H:i:s');
// comprabación lectura correcta de la IP.
//echo "'$ipuser'";
// comprabación lectura correcta de Fecha y Hora.
//echo "'$fechahora'";
$Sql= "INSERT INTO usuarios (ipentrada, fechaentrada) VALUES ('".$_POST["ipuser"]."', '".$_POST["fechahora"]."' ) WHERE nombre='$nick' and password='$pwd'"";
mysql_query($Sql);
$_SESSION["nombre"] = $campo["nombre"];
$_SESSION["idusuario"] = $campo["id_usuarios"];
?>
<script>
exit(1);
window.location.href = "clientes.php";
</script>
<?php
}
else
{
//El siguiente script devuelve a 'index.php' la cadena con los errores producidos.
?>
<script>
//exit(1);
window.location.href = "index.php?error=<?php echo utf8_encode($cadenaerror);?>";
</script>
<?php
}
}
}
?>
</body>
</html>