![]() |
POST an PHP geht nicht Wieso
Hallo Leute,
ich moechte per idHTTP.Post daten an ein PHP übergeben. Es kommt aber nur Test Undefined index: email in test1.phpon line 3 Wen ich mit ISSET($_POST['email') arbeite kommt nur Test Aber wieso. Wo liegt der Fehler???? Gruss Paul Hier der Quelltext:
Delphi-Quellcode:
test1.php
PostStrings: TStringList; //Zusammengesetze Post-Daten
ResponseStream:TStringStream;//Ausgabe der Aufgerufenen Seite ausgabe:String; //Ausgabe der aufgerufenen Seite als String zeile:String; //Zum zeilenweisen Ausgeben der Rückgabe der Aufgerufenen Seite benutzte Zwischenvariable i:Integer; //Zähler für die For-Schleife begin ResponseStream:=TStringStream.Create('');//Rückgabe-Stream erstellen PostStrings := TStringList.Create; //Post-Daten-StringList erstellen try PostStrings.Add('email=test@test.de'); //Post-Daten in die StringList eintragen try idHTTP.Post('http://ps-edv-online.de/test1.php', PostStrings,Responsestream);//Datei abrufen ausgabe:=ResponseStream.DataString; //Ausbage-Sring die zurückgegebenen Daten zuweisen zeile:=''; //Zwischenvariable leeren for i:=1 to Length(ausgabe) do begin //For-Schleife zum formatieren der Ausgabe (Zeilenumbrüche korrekt darstellen) if (ausgabe[i]=#13) and (ausgabe[i+1]=#10) then begin //Bei Zeilenumbruch ResponseMemo.Lines.Add(zeile); zeile:=''; end else if ausgabe[i]<>#10 Then zeile:=zeile+ausgabe[i]; end; ResponseMemo.Lines.Add(zeile); except //Fehlerbehandlung on E: Exception do showmessage('Error encountered during POST: ' + E.Message); end; finally PostStrings.Free; ResponseStream.Free; end; end;
Delphi-Quellcode:
<?php
echo "test"; echo $_POST['email']; ?> |
Re: POST an PHP geht nicht Wieso
Hallo Leute,
ich habe mal ein bisschen was versucht. Wenn ich IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded'; Setzte kann ich schon mal die Erste Variabel uebergeben. Jetzt habe ich mit 2 Variabalen getestet also: PostStrings.Add('email=test@test.de'); //Post-Daten in die StringList eintragen PostStrings.Add('Name=testname'); PHP ANgepasst
Delphi-Quellcode:
Geht nicht wieder der Index Fehler:
<?php
echo "test"; echo $_POST['email']; echo $_POST['Name']; ?> Also habe ich alles in einem String gepackt PostStrings.Add('email=test@test.de&Name=testname' ); Es geht! Das macht doch keinen Sinn wenn ich viele Parameter übergebe ist der String doch bals voll. Wer weiss Rat? Gruss Paul |
Re: POST an PHP geht nicht Wieso
Hallo,
gut, will ich mal etwas unter die Arme greifen: Zitat:
Zitat:
Wenn ich das mache, und den Responsestream auswerte (.DataString), erhalte ich als Antwort von Deinem Server "test test@test.de testname" (ohne Leerzeichen). Ich tippe daher darauf, daß Du eine ältere Indy Version einsetzt, wo noch irgendein Bug drin war. Aktualisiere doch mal die Indy Installation (hier im Forum suchen, gibt viele Infos darüber). Stichwort: "Fulgan Mirror" für die aktuelle Version. Gruß Assertor |
Re: POST an PHP geht nicht Wieso
Du kannst in die PHP-Seite auch mal ein
Code:
einbauen, dann siehst du genau, was wie angekommen ist ;)
print_r($_POST); // oder print_r($_REQUEST);
|
Re: POST an PHP geht nicht Wieso
Hallo Leute,
es lag an der Delphi Indy Komponente bei Delphi 6. Ich habe jetzt die Indy 9er version installiert und Siehe da es läuft! Ich kann jetzt: add('email=mail@mail.de'); add('name=willi'); übergeben und es kommt beim php an! Vielen Dank an alle! Paul |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz