Ver Mensaje Individual
  #2  
Antiguo 05-03-2008
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Reputación: 21
StartKill Va por buen camino
Holas rev

Original de rev

Cita:
estoy probando el componente BasicAuthentication de Delphi php para hacer un Login, pero me esta dejando mucho que desear.
¿¿Este componente solo sirve para comprobar un user y pass previamente cargado en sus propiedades?? ¿o de alguna manera permite comprobar en la base de datos lo introducido por el usuario?
Debo suponer que has visto el ejemplo que viene con D4PHP, ( si no lo has visto está en : C:\Archivos de programa\CodeGear\Delphi for PHP\1.0\vcl\samples\BasicAuthentication\ )

He modificado el ejemplo para la duda que tienes.
Código PHP:
function BassicAuthentication1Authenticate($sender$params){
   
// Validar si la base, la tabla, el motor mysql esta bien esto
   // es solo un ejemplo rapido.
   //
   // Recordarles, que este evento se ejecuta cada vez que
   // presionan el boton "aceptar" del objeto BassicAuthentication1.
   //
   // Si retorna false volverá a cargarse la pantala de autentificacion.
   // si retorna truee continuara la ejecucion a la siguiente linea.
   // de tu llamada ---  $this->BasicAuthentication1->Execute();
   //===========================================
   //rescantado valores de tu tabla de usuarios;
   //==========================================
   
mysql_connect("localhost""root""root");
   
mysql_select_db("tienda_h");
   
$select='select fuser, fclave from users ';
   
$select.='where fuser="'.$params['username'].'"';
   
$select.=' and fclave="'.$params['password'].'"';
   
$result=mysql_query($select);
   if (
$result){
      
$filas =mysql_num_rows($result);
      if (
$filas>0){
         
$row mysql_fetch_array($result);
         if ((
$params['username']==$row['fuser']) && ($params['password']==$row['fclave']))         {
            return(
true);
         }
         else return(
false);
      }
      else return(
false);
   }
   else return(
false);
}

function 
PasswordProtectedPageBeforeShow($sender$params) {
   
// llamar a la pantalla autentificacion de user
    
$this->BasicAuthentication1->Execute();
    echo 
"Perfecto - tienes 100 puntos <br>";

Espero que sirva

Your friend

StartKill
Lima-Perú
Responder Con Cita