Getting String via Delphi and PHP

0

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.

    
asked by anonymous 11.09.2018 / 03:19

1 answer

0

Good afternoon try the following:

if POS('Autorizado', sPOST) > 0 then
begin
  tbCtrl.ActiveTab:= tabPrincipal; //Abre aba principal
  ShowMessage(sPOST);
end;
    
11.09.2018 / 21:01