Foros del Web » Programando para Internet » PHP »

problemas con logeo

Estas en el tema de problemas con logeo en el foro de PHP en Foros del Web. hola a todos. disculpen los moleste pero me podrian ayudar con lo siguiente porfavor: tengo una base ya creada con una tabla de usuarios con ...
  #1 (permalink)  
Antiguo 27/02/2009, 18:14
 
Fecha de Ingreso: noviembre-2007
Mensajes: 49
Antigüedad: 16 años, 5 meses
Puntos: 0
problemas con logeo

hola a todos.

disculpen los moleste pero me podrian ayudar con lo siguiente porfavor:

tengo una base ya creada con una tabla de usuarios con los campos de usuario , contraseña y todos lo campos que necesito. Pero cuando deseo logearme me dice que el usuario no existe siendo que si lo tengo creado en mi base de datos estos son mis codigos
Código PHP:
</tr
        <
form method="POST" name="" id=""
        <
tr
          <
td colspan="5" align="right" class="Estilo4">User 
            
<label
            <
input name="usuario" type="text" id="usuario" size="7" maxlength="10" class="estilotextarea4" style="font-family:verdana;  font-size:10pt"
            </
label>Pass 
            
<label
            <
input name="password" type="password" id="password" size="7" maxlength="10" class="estilotextarea4" style="font-family:verdana;  font-size:10pt"
            </
label>            <label
            <
input type="submit" name="button" id="button" value=" Ir " class="boton"
            &
nbsp; &nbsp;&nbsp;&nbsp;&nbsp
            </
label></td
</
tr></form
ahi esta el formuladrio como pueden ver y aca esta lo demas

Código PHP:
<?php 
session_start
(); 
//datos para establecer la conexion con la base de mysql. 
mysql_connect('localhost','root','23yoPoderoso')or die ('Ha fallado la conexión: '.mysql_error()); 
mysql_select_db('registro')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); 

function 
quitar($mensaje

    
$nopermitidos = array("'",'\\','<','>',"\""); 
    
$mensaje str_replace($nopermitidos""$mensaje); 
    return 
$mensaje

$estado"0";  //creo la variable $estado=0 para compararla despues con el campo de la BD estado y si son cero le dejara pasar 
if ($_POST['usuario']) { 

    
// Puedes utilizar la funcion para eliminar algun caracter en especifico 
    //$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"])); 
    //$password = $HTTP_POST_VARS["password"]; 
    // o puedes convertir los a su entidad HTML aplicable con htmlentities 
    
$usuario strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES)); 
    
$password $HTTP_POST_VARS["password"]; 
    
$result mysql_query('SELECT password, usuario, estado FROM usuarios WHERE usuario=\''.$usuario.'\''); 
    if(
$row mysql_fetch_array($result)){ 
        if(
$row["password"] == $password){ 
            
$_SESSION["k_username"] = $row['usuario']; 
            if(  
$estado == $row['estado']){  //aqui es donde comprovamos que el campo activado sea cero, si lo es pasara, si no, no. 
                //el siguiente scripy de java nos redirige donde le digamos, so no os hace falta ,lo borrais. 
        
?> 
            <SCRIPT LANGUAGE="javascript"> 
            location.href = "principal.php"; 
            </SCRIPT> 
            <? 
         
        
}else{ 
            echo 
'<span class="Estilo5">Password incorrecto o cuenta sin activar</span>'
        
session_destroy();} 
    }else{ 
        echo 
'<span class="Estilo5">Usuario no existente</span>';} 
        } 
    else{ 
        echo 
'<span class="Estilo5">password incorrecto</span>';} 
        } 
    
mysql_close(); 
     

?>
porfavor diganme donde esta mi error !!!

Gracias !
  #2 (permalink)  
Antiguo 27/02/2009, 18:36
 
Fecha de Ingreso: agosto-2008
Ubicación: Cali . Colombia
Mensajes: 459
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: problemas con logeo

bueno tengo algo parecido en la clase de php

puedo mirarlo luego
  #3 (permalink)  
Antiguo 27/02/2009, 18:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problemas con logeo

No uses $HTTP_*, mejor usa $_POST, además, si muestra el mensaje "Usuario incorrecto", es porque el password es incorrecto.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 27/02/2009, 20:08
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
De acuerdo Respuesta: problemas con logeo

Holas,

Seria muy mejor que hagas lo que dijo David el Grande, ademas para que te des cuenta en donde esta el error porque no imprimes el SQL que ejecutas alli? asi te daras cuenta si esta bien o no el resultado de tu SQL (ejcutalo en un GUI para MySQL); luego tambie puedes imprimir antes del if las variables:

Código PHP:
echo 'k_username='.$_SESSION["k_username"].'<br>';
echo 
'usuario='.$row['usuario']; 


Y asi te daras cuenta si esta bien o no. Nos cuentas como te fue.

Saludos
Gildus
__________________
.: Gildus :.
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 10:08.