Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2010
Poke Poke is offline
Miembro
 
Registrado: dic 2005
Ubicación: Madrid
Posts: 27
Poder: 0
Poke Va por buen camino
Smile Inicio sesión php y firebird

Hola a todos.. tengo un código de php que encontré que me dice como acceder con un nombre de usuario y contraseña .. pero utiliza la base de datos mysql .. quería pasarla a firebird .. pero me sale unos errores, me reconoce el nombre de usuario pero no la contraseña.. he buscado en el foro y nada solo hay condigo para acceder a mysql. El código es el siguiente:

los datos los recibo desde un formulario

Código PHP:


$cnx 
conectar();
         
$stmt "select * from usuarios where usuario = '$usuario'";
         
$userQuery ibase_query($cnx$stmt);
                    
        
// revisamos usuario y password
        
if (ibase_num_fields($userQuery) > 0
        {
            
// usuario existe, seguimos
             
if (!$usuario ibase_fetch_assoc($userQuery))
                {
                
// caso sensitivo, usuario no está presente en bd
                
$message "Usuario no Existe";
                   include(
"interface.php");
                exit;
                }
                
            if (!
$userQuery['clave'])
                {
                
// no tiene clave en bd, no entra
                
$message "No se encontró contraseña para el usuario";
                include(
"interface.php");
                exit;
                }
                
            if (
stripslashes($userQuery['clave']) != $clave)
                {
                
// contraseña es incorrecta
                
echo 'clave incorrecta';
                include(
"interface.php");
                exit;
                }
        }else{
            
// usuario no existe del todo.
            
$message "Usuario no Existeee ";
               include(
"interface.php");
            exit;
        }
        
?> 


Si me pueden ayudar en donde estoy mal soy nuevo con php, desde ya gracias…
__________________
¡Caer está permitido. Levantarse es obligatorio!.
Responder Con Cita
  #2  
Antiguo 20-11-2010
Poke Poke is offline
Miembro
 
Registrado: dic 2005
Ubicación: Madrid
Posts: 27
Poder: 0
Poke Va por buen camino
Mmm

Holaa alguien que me ayude … alguien que sepa programación php + firebirtd.. mmm o voy a tener que cambiarme a mysql…
__________________
¡Caer está permitido. Levantarse es obligatorio!.
Responder Con Cita
  #3  
Antiguo 20-11-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Especifica claramente qué problema tienes, qué error, etc. es que no somos adivinos, y si dices: "pero me sale unos errores,", con eso no podemos ayudarte mucho.
Recuerda leer nuestra guía de estilo, gracias.
Responder Con Cita
  #4  
Antiguo 21-11-2010
Poke Poke is offline
Miembro
 
Registrado: dic 2005
Ubicación: Madrid
Posts: 27
Poder: 0
Poke Va por buen camino
Post mm

Perdón x no ser especifico en la pregunto soy novato en esto…


El problema es el siguiente, envio los datos del formulario y este es el código de comprobación de la contraseña, cuando ingreso el nombre de usuario y la contraseña y presiono enviar, al comprobar el nombre de usuario todo bien pero al comprobar la contraseña me dice que no existe, es como que no lee los datos de la tabla..
Pero los datos si están en la base.

Utilizo firebird, tabla usuarios

Descripción tipo
--------------------------------
Id integer
Usuario char
Clave char




Este es el codigo que utilizo...


Código PHP:
 $cnx conectar();
$stmt "select usuario, clave from usuarios where usuario = '$usuario'";
         
$userQuery ibase_query($cnx$stmt);
                    
        
// revisamos usuario y password
        
if (ibase_num_fields($userQuery) > 0
        {
            
// usuario existe, seguimos
             
if (!$usuario ibase_fetch_object($userQuery))
                {
                
// caso sensitivo, usuario no está presente en bd
                
$message "Usuario no Existe";
                   include(
"interface.php");
                exit;
                }
                
            if (!
$userQuery['clave'])
                {
                
// no tiene clave en bd, no entra
                
$message "No se encontró contraseña para el usuario..";
                include(
"interface.php");
                exit;
                }
                
            if (
stripslashes($userQuery['clave']) != $clave)
                {
                
// contraseña es incorrecta
                
echo 'clave incorrecta';
                include(
"interface.php");
                exit;
                }
        }else{
            
// usuario no existe del todo.
            
$message "Usuario no Existeee ";
               include(
"interface.php");
            exit;
        }
        
?> 



el usurio todo bien pero al comprobar la clave no funciona..


Código PHP:


     
            
if (!$userQuery['clave'])
                {
                
// no tiene clave en bd, no entra
                
$message "No se encontró contraseña para el usuario..";
                include(
"interface.php");
                exit;
                } 

La verdad no sé si este código está bien … la verdad x que los datos están en la tabla lo que es el usuario y la clave.. o si me puede dar algun ejemplo sobre esto... desde ya gracias...
__________________
¡Caer está permitido. Levantarse es obligatorio!.

Última edición por Poke fecha: 21-11-2010 a las 00:40:24.
Responder Con Cita
  #5  
Antiguo 30-11-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Desconozco php, a ver si algún compañero te puede echar una mano.
Responder Con Cita
  #6  
Antiguo 30-11-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
La variable $userQuery no es más que el identificador del conjunto de resultados que te devuelve ibase_query. La fila correspondiente la tienes en $usuario cuando llamas a ibase_fetch_assoc, así que es esa variable la que tendrías que consultar.

// Saludos
Responder Con Cita
  #7  
Antiguo 02-12-2010
Poke Poke is offline
Miembro
 
Registrado: dic 2005
Ubicación: Madrid
Posts: 27
Poder: 0
Poke Va por buen camino
Hola de nuevo gracias por su atención a mi tema.. y con respecto a lo que comentas roman tienes razón no me di cuenta de ese detalle.. Lo he modificado y va perfecto esa parte.. pero ahora tengo otro inconveniente, al momento de comparar la contraseña no funciona.. la contraseña existe e imprimo de esta manera:

Código PHP:
if (stripslashes($usuario['CLAVE']) != $clave)
               {
                
// contraseña es incorrecta
                
$message $usuario['CLAVE'] ;
                include(
"interface.php");
                exit;
                } 
Imprimo en el mensaje el dato de la clave extraída de la base de datos y si lo visualizo pero no me compara: investigando encontré algo sobre la función stripslashes (nos devuelve la cadena de texto introducida sin los caracteres de la barra inclinada \)..



Si alguien me puede ayudar para terminar este problemilla que tengo desde ya gracias
__________________
¡Caer está permitido. Levantarse es obligatorio!.
Responder Con Cita
  #8  
Antiguo 02-12-2010
Poke Poke is offline
Miembro
 
Registrado: dic 2005
Ubicación: Madrid
Posts: 27
Poder: 0
Poke Va por buen camino
para mayor entendimiento esto es lo que consulte:

Código PHP:
$userQuery mysql_query("SELECT * FROM usuarios WHERE usuario = '$usuario'") or die(mysql_error());
    

if (
mysql_num_rows($userQuery) > 0) {

    
$userArray mysql_fetch_array($userQuery);
        
    if (
$usuario != $userArray['usuario']) {
        
// caso sensitivo, usuario no está presente en bd
        
$message "Usuario no Existe";
        echo 
$message;
        include(
"interface.php");
        exit;
    }
    if (!
$userArray['clave']) {
        
// no tiene clave en bd, no entra
        
$message "No se encontró contraseña para el usuario";
        include(
"interface.php");
        exit;
    }
    if (
stripslashes($userArray['clave']) != $clave) {
    
        
$message "Contraseña es incorrecta";
        include(
"interface.php");
        exit;
    }
}else{
    
// usuario no existe del todo.
    
$message "Usuario no Existe";
    include(
"interface.php");
    exit;
}

?> 

Y esto es lo que he intentado hacer

Código PHP:
 $stmt "select usuario, clave from usuarios where usuario = '$usuario'";
         
$userQuery ibase_query($cnx$stmt);
         
         
                         
        
// revisamos usuario y password
        
if (ibase_num_fields($userQuery) > 0
        {
            
// aqui lo pongo la funcion (ibase_fetch_assoc) 
            //la funcion (mysql_fetch_array) no existe para firebird
             
               
if (!$usuario ibase_fetch_assoc($userQuery))
                {
                
// caso sensitivo, usuario no está presente en bd
                
$message "Usuario no Existe";
                   include(
"interface.php");
                exit;
                }
                
            if (!
$usuario['CLAVE'])
                {
                
// no tiene clave en bd, no entra
                
$message "No se encontró contraseña para el usuario..";
                include(
"interface.php");
                exit;
                }
               
               if (
stripslashes($usuario['CLAVE']) != $clave)
               {
                
// contraseña es incorrecta
                
$message =  $clave ;
            
//    $message = $clave;
                
include("interface.php");
                exit;
                }
            }else{
                
// usuario no existe del todo.
                
$message "Usuario no Existeee ";
                   include(
"interface.php");
                exit;
            } 

A ver si me pueden ayudar…
__________________
¡Caer está permitido. Levantarse es obligatorio!.

Última edición por Poke fecha: 02-12-2010 a las 23:30:24.
Responder Con Cita
  #9  
Antiguo 05-12-2010
Poke Poke is offline
Miembro
 
Registrado: dic 2005
Ubicación: Madrid
Posts: 27
Poder: 0
Poke Va por buen camino
resuelto

Problema resuelto... un dolo r de cabeza pera ya estaa....¡¡¡
__________________
¡Caer está permitido. Levantarse es obligatorio!.
Responder Con Cita
  #10  
Antiguo 05-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Vaya, te ha costado, pero seguro que ahora lo tienes bien aprendido para la siguiente vez
Responder Con Cita
  #11  
Antiguo 06-12-2010
Poke Poke is offline
Miembro
 
Registrado: dic 2005
Ubicación: Madrid
Posts: 27
Poder: 0
Poke Va por buen camino
Si gracias casimiero.. pero les seguire molestando por otros problemillas... que la pases bien..
__________________
¡Caer está permitido. Levantarse es obligatorio!.
Responder Con Cita
  #12  
Antiguo 07-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Poke Ver Mensaje
Si gracias casimiero.. pero les seguire molestando por otros problemillas... que la pases bien..
Muy bien, procuraremos estar por aquí para lo que podamos ayudar
Responder Con Cita
  #13  
Antiguo 20-12-2010
georkis georkis is offline
Miembro
 
Registrado: abr 2008
Ubicación: Cuba
Posts: 39
Poder: 0
georkis Va por buen camino
Talking Bueno chicos

Les diré que el campo contraseña del formulario debe tener una encriptación md5 u otros tipo... y a la hora de comparar las contraseña con la base de datos guaooo hay conflicto... asi que hay que poner lo siguiente más o menos así...

[php]
md5($_POST['password'])
[php]
Responder Con Cita
  #14  
Antiguo 23-12-2010
Poke Poke is offline
Miembro
 
Registrado: dic 2005
Ubicación: Madrid
Posts: 27
Poder: 0
Poke Va por buen camino
Hola

Hola.. Gracias x tu respuesta mira si me pudieras dar un poco más de información sobre la encriptación… me seria de mucha ayuda. He estado investigando y creo que es muy necesario encriptar la contraseña pero no encuentro un ejemplo claro sobre esto…


Si me pudieras dar un pequeño ejemplo me seria de mucha ayuda.. gracias desde ya..¡
__________________
¡Caer está permitido. Levantarse es obligatorio!.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mensaje Inicio Sesion windows XP cacu Windows 3 19-02-2009 17:57:31
Ejecutar programa al inicio antes inicio sesion hibero Varios 0 07-02-2007 21:52:44
Crear Inicio de Sesion Propio. Jeswon Conexión con bases de datos 8 05-01-2007 09:46:52
Determinar si ya se inició sesión roman PHP 5 26-08-2005 21:09:38
Inicio Sesión De Aplicación jsc Firebird e Interbase 4 27-01-2004 12:49:37


La franja horaria es GMT +2. Ahora son las 11:30:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi