Ayuda con Validación de Usuarios
Publicado por Claudio Gonzalez (70 intervenciones) el 21/02/2009 15:29:34
Hola ¿Que tal?
Encontré este código para validar usuarios en Código Fuente de esta web y quiero usarlo en mi web, pero no me funcionan, las pruebas que he efectuado, me pueden ayudar por favor, enseguida pongo el código.
Formulario : login.php
[HTML]<form action="validar.php" method="post">
Usuario : <input name="nick" type="text">
Clave : <input name="pass" type="password">
<input type="submit" name="boton" value="Entrar">
</form>[/HTML]
Archivo validar.php
[PHP]<?php
session_start(); //Iniciamos la sesion
include_once('conexion.php');
$link=Conectarse();
if ($_POST['login']=="si") //El valor “si” se manda a la misma pagina mediante un valor hidden de un formulario HTML
{
$usuario=$_POST['nick']; //Recogemos usuario y contraseña
$cuenta=$_POST['pass'];
if (($usuario=="") || ($cuenta=="")) //Error campos en blanco
{
$_SESSION['error_login']="¡Datos en blanco!";
$url_relativa = "login.php"; //La dirección de login para el header
header ("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']). "/" .$url_relativa);
}
else
{
//Si no es en blanco comprobamos de nuestra base de datos
$sql = mysql_query("SELECT nick,pass FROM users WHERE nick='$usuario'");
$row = mysql_fetch_array($sql);
if($row>0)
{
if($row[1] == $cuenta)
{
session_start();
session_register('nombreusuario');
$_SESSION['nombreusuario'] = $usuario;
session_register('id_usuario');
$_SESSION['id_usuario'] = $row[0];
$url_relativa = "permitido.php"; //Si todo es valido dejo entrar
header("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/" .$url_relativa);
}else{
$_SESSION['error_login']="¡Contraseña incorrecta!"; //Si falla la contraseña, error
$url_relativa="sinpermiso.php";
header("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/" .$url_relativa);
}
}
else
{
$_SESSION['error_login']="¡Usuario incorrecto!"; //Si falla el usuario, error
$url_relativa="error.php";
header("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/" . $url_relativa);
}
mysql_free_result($sql);
}
mysql_close();
}else{
session_destroy(); // Y si falla todo borro la sesión
}
?>
[/PHP]
Los archivos permitido.php, sinpermiso.php y error.php, solo tienen un mensaje para saber si entran en el o no.
El caso es que ingrese datos o no en el formulario se va a validar.php y sale la pantalla blanca, sin nada.
se agradece de antemano cualquier ayuda.
Encontré este código para validar usuarios en Código Fuente de esta web y quiero usarlo en mi web, pero no me funcionan, las pruebas que he efectuado, me pueden ayudar por favor, enseguida pongo el código.
Formulario : login.php
[HTML]<form action="validar.php" method="post">
Usuario : <input name="nick" type="text">
Clave : <input name="pass" type="password">
<input type="submit" name="boton" value="Entrar">
</form>[/HTML]
Archivo validar.php
[PHP]<?php
session_start(); //Iniciamos la sesion
include_once('conexion.php');
$link=Conectarse();
if ($_POST['login']=="si") //El valor “si” se manda a la misma pagina mediante un valor hidden de un formulario HTML
{
$usuario=$_POST['nick']; //Recogemos usuario y contraseña
$cuenta=$_POST['pass'];
if (($usuario=="") || ($cuenta=="")) //Error campos en blanco
{
$_SESSION['error_login']="¡Datos en blanco!";
$url_relativa = "login.php"; //La dirección de login para el header
header ("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']). "/" .$url_relativa);
}
else
{
//Si no es en blanco comprobamos de nuestra base de datos
$sql = mysql_query("SELECT nick,pass FROM users WHERE nick='$usuario'");
$row = mysql_fetch_array($sql);
if($row>0)
{
if($row[1] == $cuenta)
{
session_start();
session_register('nombreusuario');
$_SESSION['nombreusuario'] = $usuario;
session_register('id_usuario');
$_SESSION['id_usuario'] = $row[0];
$url_relativa = "permitido.php"; //Si todo es valido dejo entrar
header("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/" .$url_relativa);
}else{
$_SESSION['error_login']="¡Contraseña incorrecta!"; //Si falla la contraseña, error
$url_relativa="sinpermiso.php";
header("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/" .$url_relativa);
}
}
else
{
$_SESSION['error_login']="¡Usuario incorrecto!"; //Si falla el usuario, error
$url_relativa="error.php";
header("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/" . $url_relativa);
}
mysql_free_result($sql);
}
mysql_close();
}else{
session_destroy(); // Y si falla todo borro la sesión
}
?>
[/PHP]
Los archivos permitido.php, sinpermiso.php y error.php, solo tienen un mensaje para saber si entran en el o no.
El caso es que ingrese datos o no en el formulario se va a validar.php y sale la pantalla blanca, sin nada.
se agradece de antemano cualquier ayuda.
Valora esta pregunta


0