AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdHTTP / PHP -> Login und Rückgabewert auswerten
Thema durchsuchen
Ansicht
Themen-Optionen

IdHTTP / PHP -> Login und Rückgabewert auswerten

Ein Thema von PainInYourBrain · begonnen am 23. Mai 2006 · letzter Beitrag vom 25. Mai 2006
Antwort Antwort
PainInYourBrain

Registriert seit: 22. Mai 2006
23 Beiträge
 
#1

IdHTTP / PHP -> Login und Rückgabewert auswerten

  Alt 23. Mai 2006, 21:25
Hallo zusammen !

Installierte Versionen:
- Delphi: 6
- Indy: 9

Ich möchte mit Delphi (ambesten über die Indy / IdHTTP Komponente) Daten (einfachen Text) an ein PHP-Script auf einem Server senden.

Nun habe ich allerdings das Problem, dass ich erstmal sowas wie eine Anmeldung bei dem PHP-Script machen muss
und dabei sollte das Programm einen Rückgabewert vom PHP-Script auswerten (sowas wie login=true oder richtiges Passwort oder sowas)

Ich wollte das ganze gerne über IdHTTP.POST(...) regeln.
Da dachte ich mir, dass ich irgendwie das mit dem "response Stream" oder so benutzen könnte ... nur wie bekomm ich denn den Antwortstring da raus ?


... warscheinlich überseh ich wieder irgendwas ganz einfaches ^^ aber ich bekomm's einfach nich hin

hoffe es kann mir einer helfen ...
(Im Vorraus vielen Dank für's lesen)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: IdHTTP / PHP -> Login und Rückgabewert auswerten

  Alt 24. Mai 2006, 09:06
wenn ich das richtig sehe steht die Antwort in Source als TStrings oder TStream drin.

Wenn Du die Ausgabe in einem Memo anzeigen läßt kannst Du sehen, was Du zurück bekommst.
Dann kannst Du feststellen nach was Du suchen/filtern mußt um festzustellen
ob ein Login z.B. erfolgreich war oder fehlgeschlagen ist.

Ein Auszug aus der Hilfe:

Zitat:
procedure Post(URL: string; const Source: TStrings; const AResponseContent: TStream); overload;
procedure Post(URL: string; const Source: TStream; const AResponseContent: TStream); overload;

Parameters

URL: string

Location of the host or CGI application.

const Source: TStream

Object containing the request data.

const AResponseContent: TStream

Destination for response data.
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
PainInYourBrain

Registriert seit: 22. Mai 2006
23 Beiträge
 
#3

Re: IdHTTP / PHP -> Login und Rückgabewert auswerten

  Alt 25. Mai 2006, 15:14
und wie genau bekomm ich den Antwortstring aus dem Stream raus ?

(sorry hab noch nie vorher damit gearbeitet und schon ätzend lange bei Google gesucht)

bzw wie kann ich den Stream / ich glaub TMemoryStream in ein Memofeld oder String reinpacken ?? (Bei der Typenumwandlung scheitert's bei mir ...)

----------------------------------------
schonmal vielen Dank für die Hilfe !
  Mit Zitat antworten Zitat
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#4

Re: IdHTTP / PHP -> Login und Rückgabewert auswerten

  Alt 25. Mai 2006, 15:21
idHTTP.Post(...) liefert doch als Rückgabewert einen String. Dieser String ist die Ausgabe des Servers, was der Webbrowser dann z.b. anzeigen würde.
Also reicht es, wenn dein Script z.B. "1" für okay und "0" für Fehler ausgibt (oder sonst welche Zahlencodes z.B. für "falsches Passwort" = 2 , "Account gesperrt" = 3 usw.
Dann reicht sowas:

Delphi-Quellcode:
var
  str_result : string;
begin
  str_result := idHTTP1.Post(...);
  if (str_result='1')
  begin
    showmessage('angemeldet');
  end else
  begin
    showmessage('Fehler!');
  end;
end;
Florian Heft
  Mit Zitat antworten Zitat
PainInYourBrain

Registriert seit: 22. Mai 2006
23 Beiträge
 
#5

Re: IdHTTP / PHP -> Login und Rückgabewert auswerten

  Alt 25. Mai 2006, 15:31
str:= IdHTTP1.Post('...', ..., ...); => [FEHLER] ... : Inkompatible Typen: 'String' und 'procedure, untyped pointer or untyped parameter'

(Das hatte ich auch schon versucht, leider ohne Erfolg)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: IdHTTP / PHP -> Login und Rückgabewert auswerten

  Alt 25. Mai 2006, 16:01
So geht es nicht?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Params : TStringList;
  url : String;
begin
  url := 'http://jigsaw.w3.org/css-validator/validator?text=&usermedium=all';
  Params := TStringList.Create;
  try
    begin
      Params.Add('text=' + Memo1.Lines.Text);
      Memo2.Lines.Text := IdHTTP1.Post(url, Params);
    end;
  finally
    Params.Free;
  end;
end;
und Du bist Dir sicher Indy 9 zu haben?
Bei Indy 8 wurde die Methode Post noch anders verwendet.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: IdHTTP / PHP -> Login und Rückgabewert auswerten

  Alt 25. Mai 2006, 16:06
wenn es unbedingt mit stream sein soll so kann man den Inhalt des Stream wiefolgt in einen String packen:
Delphi-Quellcode:
SetLength(DerString, DerStream.Size);
DerStream.Position := 0;
DerStream.Read(DerString[1], DerStream.Size);
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
PainInYourBrain

Registriert seit: 22. Mai 2006
23 Beiträge
 
#8

Re: IdHTTP / PHP -> Login und Rückgabewert auswerten

  Alt 25. Mai 2006, 16:47
Autsch, mein Fehler ... ja ich hab anscheinend Indy 8 drauf ...

Das was Klaus01 geschrieben hat geht nicht (war warscheinlich für Indy 9)
... aber is klar danke trotzdem !

--------

Das mit dem Stream umwandeln geht perfekt

Vielen Dank !! (Problem behoben)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz