AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Suche Beispiel zur Zusammenarbeit von php und Applikation
Thema durchsuchen
Ansicht
Themen-Optionen

Suche Beispiel zur Zusammenarbeit von php und Applikation

Ein Thema von torud · begonnen am 30. Sep 2005 · letzter Beitrag vom 1. Okt 2005
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Suche Beispiel zur Zusammenarbeit von php und Applikation

  Alt 30. Sep 2005, 12:52
Hallo Leute!

Da ich bisher mit all meinen Versuchen gescheitert bin aus einer eigenen Applikation ein php-Script im Internet anzusprechen, ihm Parameter zu übergeben und eventuell einen Rückgabewert zu erhalten, wollte ich mal freundlich nachfragen, ob mir vielleicht jemand einen kleinen Codefetzen zur Verfügung stellen kann. Sicher würde das auch anderen helfen...

Also die Indy-Komponenten habe ich und auch php-Space ist sichergestellt. MySql würde auch zur Verfügung stehen. Ich würde hier auch den schon zu Verfügung stehenden Source-Code einstellen, damit man sehen kann, das ich nicht bei 0 stehe.

Würde mich auch freuen, wenn sich jemand opfert und mir das ein wenig erklärt. Notfalls reicht mir auch ein Link zu einem Tutorial oder zu einer Page, die es auch nur in Ansätzen erklärt. Man bin ich verzweifelt...
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Suche Beispiel zur Zusammenarbeit von php und Applikatio

  Alt 30. Sep 2005, 12:58
hi torud,

da du ja die indy-kompos hast, ist es ganz einfach.

informationen per GET an das script senden:
TidHTTP.Get('http://www.siete.de/script.php?parameter=wert&param2=wert2'); und POST kannst du auch ausführen. mit welcher indy komponente,w eiß ich jetz aber nicht.
einfach mal die hilfe bemühen

aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Suche Beispiel zur Zusammenarbeit von php und Applikatio

  Alt 30. Sep 2005, 19:50
Hallo aenogym!

So weit war ich auch schon, aber in diesem Fall wüsste ich doch nicht, ob die Werte beim Script angekommen und verarbeitet worden sind, und wenn ja, hätte ich auch gern eine Rückmeldung.

Das muss doch gehen, oder!?
Danke
Tom
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#4

Re: Suche Beispiel zur Zusammenarbeit von php und Applikatio

  Alt 30. Sep 2005, 20:10
Du bekommst bei Get und Post doch Text zurück. Ich mache das so, dass das php-Script je nachdem eine Fehlermeldung oder ein OK zurück gibt. Das Werte ich im Programm aus.

Gruß, teebee
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Suche Beispiel zur Zusammenarbeit von php und Applikatio

  Alt 30. Sep 2005, 20:21
Ok, dann sag mir doch bitte in einem kleinen Beispiel, wie ich das umsetzen kann, denn bei mir kommt einfach nichts zurück.

Nehmen wir einfach mal an, ich mach folgendes:

TidHTTP.Post('http://www.seite.de/script.php?parameter=wert&param2=wert2');

Wie muss das dann im php-Script aussehen. damit das funktioniert. Ich habe bisher nirgends eine zusammenhängende Erklärung zu diesem Thema gefunden.

<? php
If (isset ($parameter))
{
if ($parameter!='testString')
{ echo "Rückgabestring ans Programm"
}
}
?>

Danke für helfende Eingriffe und Hinweise!
Danke
Tom
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#6

Re: Suche Beispiel zur Zusammenarbeit von php und Applikatio

  Alt 30. Sep 2005, 20:38
Zitat von torud:
<? php
If (isset ($parameter))
{
if ($parameter!='testString')
{ echo "Rückgabestring ans Programm"
}
}
?>
Das funktioniert nur, wenn Register_Globals gesetzt ist. Ist es aber sus Sicherheitsgründen nicht mehr per default. Deshalb geht es so:
Code:
if (isset($_REQUEST["parameter"]))...
Ich nehme meistens $_REQUEST (deckt Get und Post-Parameter ab), es gibt auch $_GET und $_POST einzeln.
Damit sollte es gehen.

EDIT:
Code:
foreach ($_POST as $key => $value)
 {
  echo("$key = $value\n");
 }
Damit kannst Du schauen, was alles ankommt. Geht sogar noch einfacher mit printr($_POST);
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#7

Re: Suche Beispiel zur Zusammenarbeit von php und Applikatio

  Alt 30. Sep 2005, 20:41
Ok, damit weiss ich aber immer noch nicht, ob die Daten beim Script angekommen sind und habe noch nichts zurückbekommen.

Oder ist es so, dass alles was mit Echo im Script behandelt wird als Rückgabe in der Applikation empfangen wird. Kann gar nicht sein, oder? Und über welche Komponente könnte ich dann die Daten empfangen und von mir aus in einer TMemo anzeigen lassen!?

Es sind einfach so viele Fragen...
Danke
Tom
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#8

Re: Suche Beispiel zur Zusammenarbeit von php und Applikatio

  Alt 30. Sep 2005, 20:52
Delphi-Quellcode:
// Rückgabewerte:
// 0: alles ok
// -1: unbekannter Fehler
// -2: Exception bei der Übertragung
// x: Fehlercode des Scripts
function TdmIndy.DoPost(Script: String; Params: String; Var Response: String): Integer;
Var TempStringList: TStringList;
begin
 Screen.Cursor := crHourglass;
 TempStringList := TStringList.Create;
 Try
  Try
   Params := Params+'u='+PhpUser+#13#10+'p='+PhpPass+#13#10;
   TempStringList.Text := Params;
   Response := http.Post(url+script+'.php',TempStringList);
   //ShowMessage(Response);
   TempStringList.Text := Response;
   If TempStringList[0]='okThen
    Result := 0
   Else
    Result := StrToIntDef(TempStringList[1],-1);
  Except
   Result := -2;
  End;
 Finally
  Screen.Cursor := crDefault;
  TempStringList.Free;
 End;
end;
Das ist ein Beispiel aus meinem aktuellen Projekt. http ist ein TIDHTTP. Das zugehörige php gibt OK aus, wenn alles klar war, ansonsten in der ersten Zeile ein 'Error' und in der zweiten einen Zahlencode.

Doch, alles, was Du im Script mit Echo ausgibst, findest Du im Rückgabestring wieder. Ob ein Parameter angekommen ist, kannst Du, so wie Du es oben gemacht hast, mit isset überprüfen.

Gruß, teebee
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#9

Re: Suche Beispiel zur Zusammenarbeit von php und Applikatio

  Alt 30. Sep 2005, 21:10
Also ich versuche mal ein Script zu erstellen und ein Programm, um zu zeigen, wie unfähig ich bin und dass es bei mir einfach nicht funzt. Sicher, weil ich die zusammenhänge nicht ganz verstehe. Wo wird zum Besipiel diese Funktion aufgerufen!?
Danke
Tom
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#10

Re: Suche Beispiel zur Zusammenarbeit von php und Applikatio

  Alt 30. Sep 2005, 21:17
Ich sehe gerade, dass Du das hierTidHTTP.Post('http://www.seite.de/script.php?parameter=wert&param2=wert2'); machst.
Du hängst Parameter an den URL an, den Du per POST sendest. Macht man so nur bei GET. Wenn überhaupt (habe ich so noch nicht ausprobiert), kannst Du diese Parameter höchstens in $_GET abfragen. Sinnvollerweise übergibt man POST-Parameter als Stringliste. (TIDHTTP.Post gibts in einpaar überladenen Versionen, auch mit String-Streams für die Parameter).
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 19:32 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