Foros del Web » Programando para Internet » PHP »

Login y Password

Estas en el tema de Login y Password en el foro de PHP en Foros del Web. Hola a todos. Lo que quiero hacer es que por medio de un formulario el cual tiene login y password verifique a la base de ...
  #1 (permalink)  
Antiguo 19/02/2004, 22:22
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 14 años
Puntos: 0
Login y Password

Hola a todos.

Lo que quiero hacer es que por medio de un formulario el cual tiene login y password verifique a la base de datos si existen esos datos y en caso de que si exista ese login y password entre a una pagina y en caso contrario me indique un error.

Lo intente con esto pero siempre me manda a la misma pagina.

//Formulario

<form method="POST" action="Validar.php"
<input type="text" name="Login" size="20"></p>
<p><input type="text" name="Password" size="20"></p>
<p><input type="submit" value="Enviar" name="B1"><input type="reset" value="Restablecer" name="B2"></p>
</form>

//Script de segurida

<?
//script de capa de seguridad
//Este archivo se encarga de dotar seguridad a toda la aplicación de acceso restringido
session_start();
//Inicio la Sesión
if($_SESSION["autenticado"]!="SI"){
// Comprueba que el usuario este autenticado
header("location:manager.php");
//si el usuario no esta autenticado, se envia de nuevo a la pagina de validación
exit();
// Se cierra este script
}
?>

//Validar

<? include("Seguro.php");?>
<?
//conecto con la base de datos
$conn = mysql_connect("localhost","xxx", "xxx");
//selecciono la BBDD
mysql_select_db("ojik1091",$conn);

//Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM Usuarios WHERE Login='$Login' and password='$password'";

//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);

//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
session_register("autenticado");
$autenticado = "SI";
header ("Location:Administrador.php");
}else {
//si no existe le mando otra vez a la portada
header("Location:manager.php?errorusuario=SI");
}
mysql_free_result($rs);
mysql_close($conn);
?>

Alguien me podria ayudar a ver en que estoy mal.

GRACIAS.
__________________
Hasta la victoria Siempre.
  #2 (permalink)  
Antiguo 19/02/2004, 23:13
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 15 años, 11 meses
Puntos: 1
El nombre del campo que guarda la contraseña es "Password" y lo estas tratando de leer con $password.

Ademas si la linea register_globals no esta activada en el php.ini, tampoco vas a obtener resultados ya que no utilizas arrays superglobales..$_POST, $_GET ..etc

Bueno eso es lo que sale a simple vista.
  #3 (permalink)  
Antiguo 20/02/2004, 06:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lo mismo para las sesiones (referente al uso de los arrays superglobales) .. usa $_SESSION en lugar de session_register() .. (si usas PHP 4.1.0 en adelante) será más segura tu aplicación.

Usa también "exit" despues de cada "header("location..." que redirecciona el navegador .. pero el flujo del código PHP sigue .. (si haces esto tendrás que cerrar la conexión a tu BD y liberara memoria con tu msyql_free_result .. antes de estos exit; ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:50.