Hola, tengo un problema, es que cuando el usuario marca la casilla "Recordar sesión" me muestra el siguiente mensaje de error.
Notice: Undefined variable: HTTP_X_FORWARDED_FOR in C:\xampp\htdocs\test\config.php on line 18
Notice: Use of undefined constant REMOTE_ADDR - assumed 'REMOTE_ADDR' in C:\xampp\htdocs\test\config.php on line 20
Estas son las páginas de logueado que hay:
Entrar.php Código PHP:
<?
// Configura los datos de tu cuenta
include('config.php');
// Conectar a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');
if ($_POST['username']) {
//Comprobacion del envio del nombre de usuario y password
$username=htmlentities($_POST['username']);
$password=$_POST['password'];
if ($password==NULL) {
echo "<p><center><img src=\"../images/logo.png\" width=\"408\" height=\"101\"></center></p><table width=\"60%\" align=\"center\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-bottom-color:#FF0000;border-bottom-width:3px;border-bottom-style:solid;border-top-color:#FF0000;border-top-style:solid;border-top-width:3px; border-left-color:#FF0000; border-left-width:3px;border-left-style:solid;border-right-color:#FF0000; border-right-width:3px;border-right-style:solid;\">
<tr>
<td height=\"59\" bgcolor=\"#FFD2D2\" border-style:solid; border-width:0px; valign=\"middle\"><center> No introdujo una contraseña correcta.</center></td>
</tr>
</table>
<script type=\"text/javascript\">
function redireccionar(){
history.back();
}
setTimeout (\"redireccionar()\", 5000); //tiempo expresado en milisegundos
</script>
";
exit();
}else{
$query = mysql_query("SELECT nick,password FROM user WHERE nick = '$username'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "<p><center><img src=\"../images/logo.png\" width=\"408\" height=\"101\"></center></p><table width=\"60%\" align=\"center\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-bottom-color:#FF0000;border-bottom-width:3px;border-bottom-style:solid;border-top-color:#FF0000;border-top-style:solid;border-top-width:3px; border-left-color:#FF0000; border-left-width:3px;border-left-style:solid;border-right-color:#FF0000; border-right-width:3px;border-right-style:solid;\">
<tr>
<td height=\"59\" bgcolor=\"#FFD2D2\" border-style:solid; border-width:0px; valign=\"middle\"><center>La contraseña no es correcta.</center></td>
</tr>
</table>
<script type=\"text/javascript\">
function redireccionar(){
history.back();
}
setTimeout (\"redireccionar()\", 5000); //tiempo expresado en milisegundos
</script>
";
exit();
}else{
$query = mysql_query("SELECT * FROM user WHERE nick = '$username'") or die(mysql_error());
$row = mysql_fetch_array($query);
$username2 = $row['nick'];
$_SESSION["s_username"] = $row['nick'];
$_SESSION["logeado"] = "SI";
$_SESSION["id"] = $row['id'];
if($row['admin']=="si")
{
$_SESSION["admin"] = "SI";
}
else
{
$_SESSION["admin"] = "NO";
}
if($row['publi']=="si")
{
$_SESSION["publi"] = "SI";
}
else
{
$_SESSION["publi"] = "NO";
}
if($row['root']=="si")
{
$_SESSION["root"] = "SI";
}
else
{
$_SESSION["root"] = "NO";
}
/* Si aceptamos recordar los datos */
if($_POST['recordar']){
if ($HTTP_X_FORWARDED_FOR == "")
{
$ip = getenv(REMOTE_ADDR);
}
else
{
$ip = getenv(HTTP_X_FORWARDED_FOR);
}
$id_extreme = uniqid(rand(), true);
$id_extreme2 = $username2."%".$id_extreme."%".$ip;
setcookie('id_extreme', $id_extreme2, time()+7776000,'/');
$query = mysql_query("UPDATE user SET id_extreme='".$id_extreme."' WHERE nick='".$username2."'") or die(mysql_error());
}
header ("Location: ../inicio.php");
}
}
}
else
{
echo "<p><center><img src=\"../images/logo.png\" width=\"408\" height=\"101\"></center></p><table width=\"60%\" align=\"center\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-bottom-color:#FF0000;border-bottom-width:3px;border-bottom-style:solid;border-top-color:#FF0000;border-top-style:solid;border-top-width:3px; border-left-color:#FF0000; border-left-width:3px;border-left-style:solid;border-right-color:#FF0000; border-right-width:3px;border-right-style:solid;\">
<tr>
<td height=\"59\" bgcolor=\"#FFD2D2\" border-style:solid; border-width:0px; valign=\"middle\"><center> Debe introducir un usuario.</center></td>
</tr>
</table>
<script type=\"text/javascript\">
function redireccionar(){
history.back();
}
setTimeout (\"redireccionar()\", 5000); //tiempo expresado en milisegundos
</script>
";
exit();
}
?>
<style type="text/css">
<!--
body {
background-color: #698BB4;
text-align: right;
}
.blanco_normal {
color: #FFF;
}
.blanco_normal {
color: #FFF;
}
-->
</style></head>
config.php Código PHP:
<?php
$dbhost='localhost'; // Servidor
$dbusername=''; // Nombre de usuario
$dbuserpass=''; // Contraseña
$dbname=''; // Nombre de la base de datos
session_start();
//Declaramos la constante para el nombre del dominio.
define('BASE_PATH', 'http://localhost/test/');
// Comprobamos si hay cookie, si está bien y le asignamos una sesión
// Esto quiere decir que si recordamos la contraseña nos auto loguee.
if(isset($_COOKIE['id_extreme']))
{
$cookie = htmlentities($_COOKIE['id_extreme']);
$cookie = explode("%",$cookie);
$user = $cookie[0];
$id = $cookie[1];
$ip = $cookie[2];
if ($HTTP_X_FORWARDED_FOR == "")
{
$ip2 = getenv(REMOTE_ADDR);
}
else
{
$ip2 = getenv(HTTP_X_FORWARDED_FOR);
}
if($ip == $ip2)
{
$link = mysql_connect($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname,$link) or die('No se puede seleccionar la base de datos');
$query = mysql_query("SELECT * FROM user WHERE id_extreme='".$id."' and nick='".$user."'") or die(mysql_error());
$row = mysql_fetch_array($query);
if(isset($row['nick']))
{
$_SESSION["s_username"] = $row['nick'];
$_SESSION["logeado"] = "SI";
}
if($row['admin']=="si")
{
$_SESSION["admin"] = "SI";
}
else
{
$_SESSION["admin"] = "NO";
}
mysql_close($link);
}
}
?>
inicio.php Código PHP:
<?php
include('config.php');
if($_SESSION["logeado"] != "SI"){
header ("Location: index.php");
exit;
}
echo "<br>El usuario es: ".$_SESSION["s_username"]."<br>";
?>
ESTA LOGUEADO AHORA PUEDE HACER TEST
<a href="cerrar.php">Cerrar sesión</a>
cerrar.php Código PHP:
<?php
session_start();
session_unset();
session_destroy();
setcookie("id_extreme","x",time()-3600,"/");
header("Location: ../index.php");
?>