PDA

Ver la Versión Completa : componente BasicAuthentication ¿rigido?


rev
05-03-2008, 10:14:55
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?

Un saludo.

StartKill
05-03-2008, 17:00:22
Holas rev

Original de rev


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.

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 :cool:

StartKill
Lima-Perú

cHackAll
05-03-2008, 18:05:54
¿o de alguna manera permite comprobar en la base de datos lo introducido por el usuario?

El componente es de autenticacion. El programador debe realizar la consulta de acuerdo a uss necesidades. Seguramente los valores del UserName y Password son retornados como propiedades, pero;

echo $_SERVER['PHP_AUTH_USER'];
echo $_SERVER['PHP_AUTH_PW'];

Edito PD: No ví el post de StartKill, espero cualfuese te guie :)

rev
06-03-2008, 09:05:36
ok, ya me quedo claro como funciona; muchas gracias a los dos por vuestro tiempo.

Un saludo!