Sirs, good evening! I've been having a problem for 3 days without a solution.
The code below, I use to get a string as a form of authentication. The sPOST variable has the " Authorized" string in the ShowMessage event, but if I use " if sPOST = 'Authorized' then "it does not work.
procedure TForm1.btnAuthClick(Sender: TObject);
var
lHTTP: TIdHTTP;
sPOST: String;
parameters: TStringList;
begin
parameters := TStringList.Create;
lHTTP := TIdHTTP.Create(nil);
try
parameters.Add('email='+edtUsuario.Text);
parameters.Add('senha='+Encode64(edtSenha.Text));
lHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
//fbURL é uma CONST onde está definido a URL
sPOST := lHTTP.Post(fbURL+'/lib/consult.php', parameters);
ShowMessage(sPOST); //Aqui o sPOST recebe a string "Autorizado" ou "Negado".
//Está funcionando perfeitamente. A mensagem é exibida com a string correta.
//Mas aqui, sPOST não parece ter recebido a string,
//Pois não acata a condição.
if sPOST = 'Autorizado' then
begin
tbCtrl.ActiveTab:= tabPrincipal; //Abre aba principal
ShowMessage(sPOST); //Deveria exibir mensagem novamente como teste
end
else
begin ShowMessage('Se lascou!'); end;
finally
parameters.Free;
end;
end;
consult.php looks like this:
$eval = $_REQUEST["email"]; //Aqui já foi utilizado como $_POST,
$sval = $_REQUEST["senha"]; //mas de nada adiantou.
$sql = "SELECT * FROM tbusuario WHERE email='$eval' AND senha='$sval'";
if($result = mysqli_query($conn, $sql)){
if(mysqli_num_rows($result) > 0){
echo "Autorizado";
mysqli_free_result($result);
} else{
echo "Negado";
}
} else{
echo "ERRO: Não foi possível executar $sql. " . mysqli_error($conn);
}
I know it sounds like a rough problem, but I'm getting it. For this IF does not work by a decree.
I thank you for the attention and the dedicated time of all.