Autenticacao no delphi for php
20/09/2007
0
Bom dia mocada, o bola da vez é a seguinte, estou criando uma aplicacao para autenticar um usuario valido no banco de dados firebird, coloquei em meu projeto os seguinte componentes:
1 database, 1 query, 1 datasource, 1 basicauthentication e no evento OnAuthentication coloquei o codigo abaixo:
[b:c3e1acb076]
function BasicAuthentication1Authenticate($sender, $params)
{
$this->qryUsuario->Filter = ´where USU_LOGIN =´´.$params[´username´].
´´ and USU_SENHA=´´.$params[´password´].´´´;
$this->qryUsuario->Open();
if ($this->qryUsuario->RecordCount > 0) {
echo(´Não Logado !!!´);
return(true);
}
else{
echo(´Não Logado !!!´);
return(false);
}
}
[/b:c3e1acb076]
dai deu a seguinte mensagem de erro:
[b:c3e1acb076][i:c3e1acb076]
Application raised an exception class ADODB_Exception with message ´borland_ibase error: [-104: Dynamic SQL Error SQL error code = -104 Token unknown - line 1, char 64 where ] in EXECUTE(´select USU_LOGIN, USU_SENHA from TAB_USUARIOS where where USU_LOGIN =´l´ and USU_SENHA=´l´ ROWS 10 ´)
[/b:c3e1acb076][/i:c3e1acb076]
dai me veio duas duvidas:
1ª - sera que concatenei minha string de forma correta, caso a resposta seja não qual seria a forma correta?
2ª - se eu quizesse ao invez de concatenar passar parametro, como seria a forma correta de montar a string para consulta e como seria o codigo da atribuicao na aplicacao?
Obs.: os campos do select da query estao iguais aos dos fields no data explorer e nome da tabela tambem.
Agradeço desde já,
At.: Luciano Edgard
1 database, 1 query, 1 datasource, 1 basicauthentication e no evento OnAuthentication coloquei o codigo abaixo:
[b:c3e1acb076]
function BasicAuthentication1Authenticate($sender, $params)
{
$this->qryUsuario->Filter = ´where USU_LOGIN =´´.$params[´username´].
´´ and USU_SENHA=´´.$params[´password´].´´´;
$this->qryUsuario->Open();
if ($this->qryUsuario->RecordCount > 0) {
echo(´Não Logado !!!´);
return(true);
}
else{
echo(´Não Logado !!!´);
return(false);
}
}
[/b:c3e1acb076]
dai deu a seguinte mensagem de erro:
[b:c3e1acb076][i:c3e1acb076]
Application raised an exception class ADODB_Exception with message ´borland_ibase error: [-104: Dynamic SQL Error SQL error code = -104 Token unknown - line 1, char 64 where ] in EXECUTE(´select USU_LOGIN, USU_SENHA from TAB_USUARIOS where where USU_LOGIN =´l´ and USU_SENHA=´l´ ROWS 10 ´)
[/b:c3e1acb076][/i:c3e1acb076]
dai me veio duas duvidas:
1ª - sera que concatenei minha string de forma correta, caso a resposta seja não qual seria a forma correta?
2ª - se eu quizesse ao invez de concatenar passar parametro, como seria a forma correta de montar a string para consulta e como seria o codigo da atribuicao na aplicacao?
Obs.: os campos do select da query estao iguais aos dos fields no data explorer e nome da tabela tambem.
Agradeço desde já,
At.: Luciano Edgard
Luciano Andrade
Curtir tópico
+ 0
Responder
Posts
04/12/2007
Giordanocwb
Repare que o select que foi montado tem duas instruções WHERE. Na propriedade Filter, não devemos especificar o WHERE, pois ele já faz isso automaticamente. Retire o WHERE do começo do Filter e sua instrução irá funcionar.
T+
T+
Responder
Clique aqui para fazer login e interagir na Comunidade :)