Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/08/2011, 04:56
Avatar de cpujades
cpujades
 
Fecha de Ingreso: agosto-2011
Mensajes: 40
Antigüedad: 12 años, 7 meses
Puntos: 0
Problema al grabar IP en Mysql

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>