Problemas Con Ingreso a pagina
Publicado por Novato (11 intervenciones) el 21/08/2007 00:10:33
Hola a todos, tengo un problema con mi sistema de ingreso y necesito ayuda, les paso a contar:
Tengo todos los archivos php y html creados: login, ingresar, ing, restringida.
Lo que hice funciona todo, salvo a ultimo momento cuando ingreso el Nick y el Password y confirmo, en ese momento en vez de mostrarme el mensaje:
Aqui el contenido solo para usuarios registrados.
Me muestra:
El sistema no lo ha identificado, solo los usuarios registrados tienen acceso a esta area.
Yo creo que el error esta en pasar el valor de la variable $loginCorrecto de login.php a registrar.php
Adjunto el codigo:
FORM HTML:
<FORM ACTION="ingresar.php" METHOD="post">
Nick : <INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20>
<BR>
Password: <INPUT TYPE="password" NAME="password" SIZE=28
MAXLENGTH=20>
<BR>
<INPUT TYPE="submit" CLASS="boton" VALUE="Ingresar"> </FORM>
INGRESAR.PHP
<?php
$link=mysql_connect("localhost", "root", "");
mysql_select_db("principal",$link) OR DIE ("Error: Imposible Conectar");
//AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.
function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',""",$mensaje);
$mensaje = str_replace("\\\\","\",$mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
$nickN = quitar($HTTP_POST_VARS["nick"]);
$passN = quitar($HTTP_POST_VARS["password"]);
$result = mysql_query("SELECT password FROM usuarios WHERE nick='$nickN'");
if($row = mysql_fetch_array($result))
{
if($row["password"] == $passN)
{
//90 dias dura la cookie
setcookie("usNick",$nickN,time()+7776000);
setcookie("usPass",$passN,time()+7776000);
?>
Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "restringida.php";
</SCRIPT>
<?
}
else
{
echo "Password incorrecto";
}
}
else
{
echo "Usuario no existente en la base de datos";
}
mysql_free_result($result);
}
else
{
echo "Debe especificar un nick y password";
}
mysql_close();
?>
LOGIN.PHP
?>
$loginCorrecto = false;
//$idUsuarioL;
//$nickUsuarioL;
//$emailUsuarioL;
//$nombreUsuarioL;
if(isset($HTTP_COOKIE_VARS["usNick"]) && isset($HTTP_COOKIE_VARS["usPass"]))
{
$result = mysql_query("SELECT * FROM usuarios WHERE nick='".$HTTP_COOKIE_VARS["usNick"]."' AND password='".$HTTP_COOKIE_VARS["usPass"]."'");
if($row = mysql_fetch_array($result))
{
setcookie("usNick",$HTTP_COOKIE_VARS["usNick"],time()+7776000);
setcookie("usPass",$HTTP_COOKIE_VARS["usPass"],time()+7776000);
$loginCorrecto = true;
$idUsuarioL = $row["id"];
$nickUsuarioL = $row["nick"];
$emailUsuarioL = $row["email"];
$nombreUsuarioL = $row["nombre"];
}
else
{
//Destruimos las cookies.
setcookie("usNick","x",time()-3600);
setcookie("usPass","x",time()-3600);
}
mysql_free_result($result);
}
?>
RESTRINGIDA.PHP
<?php
$link=mysql_connect("localhost", "root", "");
mysql_select_db("principal",$link) OR DIE ("Error: Imposible Conectar");
include("login.php");
if($loginCorrecto)
{
echo "Aqui el contenido solo para usuarios registrados";
}
else
{
echo "El sistema no lo ha identificado, solo los usuarios registrados tienen acceso a esta area";
}
?>
Tengo todos los archivos php y html creados: login, ingresar, ing, restringida.
Lo que hice funciona todo, salvo a ultimo momento cuando ingreso el Nick y el Password y confirmo, en ese momento en vez de mostrarme el mensaje:
Aqui el contenido solo para usuarios registrados.
Me muestra:
El sistema no lo ha identificado, solo los usuarios registrados tienen acceso a esta area.
Yo creo que el error esta en pasar el valor de la variable $loginCorrecto de login.php a registrar.php
Adjunto el codigo:
FORM HTML:
<FORM ACTION="ingresar.php" METHOD="post">
Nick : <INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20>
<BR>
Password: <INPUT TYPE="password" NAME="password" SIZE=28
MAXLENGTH=20>
<BR>
<INPUT TYPE="submit" CLASS="boton" VALUE="Ingresar"> </FORM>
INGRESAR.PHP
<?php
$link=mysql_connect("localhost", "root", "");
mysql_select_db("principal",$link) OR DIE ("Error: Imposible Conectar");
//AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.
function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',""",$mensaje);
$mensaje = str_replace("\\\\","\",$mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
$nickN = quitar($HTTP_POST_VARS["nick"]);
$passN = quitar($HTTP_POST_VARS["password"]);
$result = mysql_query("SELECT password FROM usuarios WHERE nick='$nickN'");
if($row = mysql_fetch_array($result))
{
if($row["password"] == $passN)
{
//90 dias dura la cookie
setcookie("usNick",$nickN,time()+7776000);
setcookie("usPass",$passN,time()+7776000);
?>
Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "restringida.php";
</SCRIPT>
<?
}
else
{
echo "Password incorrecto";
}
}
else
{
echo "Usuario no existente en la base de datos";
}
mysql_free_result($result);
}
else
{
echo "Debe especificar un nick y password";
}
mysql_close();
?>
LOGIN.PHP
?>
$loginCorrecto = false;
//$idUsuarioL;
//$nickUsuarioL;
//$emailUsuarioL;
//$nombreUsuarioL;
if(isset($HTTP_COOKIE_VARS["usNick"]) && isset($HTTP_COOKIE_VARS["usPass"]))
{
$result = mysql_query("SELECT * FROM usuarios WHERE nick='".$HTTP_COOKIE_VARS["usNick"]."' AND password='".$HTTP_COOKIE_VARS["usPass"]."'");
if($row = mysql_fetch_array($result))
{
setcookie("usNick",$HTTP_COOKIE_VARS["usNick"],time()+7776000);
setcookie("usPass",$HTTP_COOKIE_VARS["usPass"],time()+7776000);
$loginCorrecto = true;
$idUsuarioL = $row["id"];
$nickUsuarioL = $row["nick"];
$emailUsuarioL = $row["email"];
$nombreUsuarioL = $row["nombre"];
}
else
{
//Destruimos las cookies.
setcookie("usNick","x",time()-3600);
setcookie("usPass","x",time()-3600);
}
mysql_free_result($result);
}
?>
RESTRINGIDA.PHP
<?php
$link=mysql_connect("localhost", "root", "");
mysql_select_db("principal",$link) OR DIE ("Error: Imposible Conectar");
include("login.php");
if($loginCorrecto)
{
echo "Aqui el contenido solo para usuarios registrados";
}
else
{
echo "El sistema no lo ha identificado, solo los usuarios registrados tienen acceso a esta area";
}
?>
Valora esta pregunta


0