Foros del Web » Programando para Internet » PHP »

Validar usuario y contraseña

Estas en el tema de Validar usuario y contraseña en el foro de PHP en Foros del Web. Hola a todos: Tengo una base de datos creada en Mysql, pero cuando quiero validar el usuario y contraseña, por más que lo ponga mal ...
  #1 (permalink)  
Antiguo 30/09/2009, 08:26
 
Fecha de Ingreso: agosto-2009
Mensajes: 7
Antigüedad: 15 años, 3 meses
Puntos: 0
Validar usuario y contraseña

Hola a todos:

Tengo una base de datos creada en Mysql, pero cuando quiero validar el usuario y contraseña, por más que lo ponga mal o bien, siempre ingreso y nunca sale error. Mi base de datos contiene los campos correo, clave, nombre apellido y teléfono. Yo quiero que el usuario ingrese su correo y clave y pueda acceder a la página. El código que utilizo es el siguiente:

html>
<head>
<title> Login </title>
</head>
<body>
<div align=center>
<h1 align=center> Acceso de usuarios: </h1>
<hr>
<?
if (!$_POST['Ingresar'])
{
?>
<form method=post action="login.php">
Usuario: <input type=text name=Usuario><br>
Contraseña: <input type=password name=Contraseña><br>
<input type=submit value=Ingresar name=Ingresar> <input type=reset value=Borrar><br>
</form>
<?
} else {
if (!$_POST['correo'] || !$_POST['clave'])
{
echo "Debe ingresar un Usuario y Contraseña";
} else {
include ('conectar.php');
$conectar;
mysql_select_db('nombremibasededatosdb');
$CampoUsuario=addslashes($_POST['correo']);
$CampoClave=addslashes($_POST['clave']);
$consulta="select * from Usuarios where Usuario="".$_POST['correo']."" and Passwodr="".$_POST['clave'].""";
$resultado=mysql_query($consulta);
$rows = mysql_num_rows($resultado);
if ($rows == 1) {
echo "Bienvenido " . $_POST['correo'];
} else if ($rows == 0) {
echo "Usuario o contraseña inválidos";
} else {
echo "Error de conexión a la base de datos";
}
?>
</div>
</body>
</html>
---------------------------------------------------------
<body>
</body>
</html>

Ingrese lo que ingrese siempre entra. ¿Alguien sabe el código indicado? Busqué en los foros pero no tuve éxito.

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 30/09/2009, 08:32
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: Validar usuario y contraseña

if (!$_POST['correo'] || !$_POST['clave'])

por:

if ($_POST['correo']=="" || $_POST['clave']=="")

;)
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 30/09/2009, 08:36
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 8 meses
Puntos: 6
Respuesta: Validar usuario y contraseña

Código PHP:
<html>
    <head>
        <title> Login </title>
    </head>
    <body>
        <div align=center>
        <h1 align=center> Acceso de usuarios: </h1>
        <hr>
        <?php if (!$_POST['Ingresar']){ ?>
        <form method=post action="login.php">
            Usuario: <input type="text" name="username"><br />
            Contrase&ntilde;a: <input type="password" name="password"><br />
            <input type="submit" value="Ingresar" name="Ingresar">&nbsp;<input type="reset" value="Borrar"><br />
        </form>
        <?php
        
} else {
        if (isset(
$_POST['username']) || isset($_POST['password'])){
            echo 
"Debe ingresar un Usuario y Contrase&ntilde;a";
        } else {
            include (
'conectar.php');
            
$conectar;
            
extract($_POST);
            
mysql_select_db('nombremibasededatosdb');
            
$consulta="select * from Usuarios where Usuario='$username' and Passwodr='$password'";
            
$resultado=mysql_query($consulta);
            
$rows mysql_num_rows($resultado);
            if (
$rows == 1)
                echo 
"Bienvenido " $_POST['correo'];
            else if (
$rows == 0)
                echo 
"Usuario o contrase&ntilde;a inv&aacute;lidos";
            else
                echo 
"Error de conexi&oacute;n a la base de datos";
        }
        
?>
        </div>
    </body>
</html>
  #4 (permalink)  
Antiguo 30/09/2009, 08:36
Avatar de andres013  
Fecha de Ingreso: febrero-2007
Ubicación: Bogotá Colombia
Mensajes: 222
Antigüedad: 17 años, 8 meses
Puntos: 2
Respuesta: Validar usuario y contraseña

Hola,

Lo que tienes está bien, pero realmente no controlas el acceos al sitio. Yo te recomendaría que utilizaras una variable de sesión para permitir acceder a la parte protegida. Utilizar variables de sesión es mucho más seguro que solo poner un control de preguntar una clave.

Aquí te dejo un ejemplo


Código PHP:
<? session_start();
if (!isset(
$_SESSION["cuenta_paginas"])){
    
$_SESSION["cuenta_paginas"] = 1;
}else{
    
$_SESSION["cuenta_paginas"]++;
}
?>
<html>
<head>
<title>Contar páginas vistas por un usuario en toda su sesión</title>
</head>

<body>
<?
echo "Desde que entraste has visto " $_SESSION["cuenta_paginas"] . " páginas";
?>
<br>
<br>
<a href="otracuenta.php">Ver otra página</a>
</body>
</html>
Espero te sirva.
__________________
Desarrollando Web: La guía para los desarrolladores web
http://www.desarrollandoweb.com

Última edición por andres013; 30/09/2009 a las 08:40 Razón: Poner el estilo al código
  #5 (permalink)  
Antiguo 30/09/2009, 08:39
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 8 meses
Puntos: 6
Respuesta: Validar usuario y contraseña

No coinciden las variables...

Tus inputs son:
Cita:
Usuario: <input type=text name=Usuario><br>
Contraseña: <input type=password name=Contraseña><br>
y tus $_POST son:
Cita:
if (!$_POST['correo'] || !$_POST['clave'])
Cita:
$consulta="select * from Usuarios where Usuario="".$_POST['correo']."" and Passwodr="".$_POST['clave'].""";

NOTA: para asegurarte que variables $_POST estás pasando puedes agregar esto...

Código PHP:
echo "<pre>";
print_r($_POST);
echo 
"</pre>"
  #6 (permalink)  
Antiguo 01/10/2009, 11:35
 
Fecha de Ingreso: agosto-2009
Mensajes: 7
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Validar usuario y contraseña

GRacias a todos. En realidad no me funcionó con estos códigos. Utilicé otro. Pero igual muchas gracias.
  #7 (permalink)  
Antiguo 01/10/2009, 11:42
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 8 meses
Puntos: 6
Respuesta: Validar usuario y contraseña

Puedes colocar el código con el cuál lograstes tu solución???

Gracias.-
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 22:36.