Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Formular über PHP senden klappt nicht (https://www.delphipraxis.net/78468-formular-ueber-php-senden-klappt-nicht.html)

mlspider 5. Okt 2006 14:19


Formular über PHP senden klappt nicht
 
Ich versuche wie folgt ein Formular zu versenden:

das PHP-Script:

Code:
 <?php

 $admin = "xxxxxxx@hotmail.com";
 $subject = "PHP-Mail";
 $message = "Nachricht fuer $admin von $email:\n\n";

 while(list($name,$value)=each($HTTP_POST_VARS)) { 
 $message.="$name: $value\n\n";
 } 

 mail($admin,$subject,$message,"From: $email");

?>
Gefüllt und übergeben wird es wie folgt:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  data: TIdMultiPartFormDataStream;
begin
  data := TIdMultiPartFormDataStream.Create;
  try
    { add the used parameters for the script }
    data.AddFormField('email', Edit2.Text);
    data.AddFormField('name', Edit1.Text);
    data.AddFormField('message', Memo1.Lines.Text);

    { Call the Post method of TIdHTTP and read the result into TMemo }
    Memo1.Lines.Text := IdHTTP1.Post('http://www.meine-domain.de/formmailer.php', data);
  finally
    data.Free;
  end;
end;
So langsam verstehe ich überhaupt nichts mehr.

PS: Ich bin nicht gerade der PHP-Profi. Mehr der Dummy.

[edit=alcaeus]PHP-Code in code-Tags gewickelt ;) Mfg, alcaeus[/edit]

generic 6. Okt 2006 08:34

Re: Formular über PHP senden klappt nicht
 
den fehler sehe ich nicht auf anhieb.

ABER ich sehe ein Sicherheitsproblem! Wenn du diese Zeile:
Code:
mail($admin,$subject,$message,"From: $email");
so benutzt, machst du für die lieben spammer ein offenes mail relay.
(vorrausgesetzt dein emailserver schickt überall hin)

ausserdem scheint deine php konfiguration nicht optimal zu sein.
versuche immer die php.ini_recommend zu nehmen!

register_globals sollte immer aus sein! gerade als anfänger sollte die aus sein. wenn sie an ist und unsauber programmiert wurde machst du dir viele sicherheitslöcher auf.

80% der hacks zu php programmen die auf der packetstorm mailingliste rumgehen basieren auf "register_globals on".

du bist aber herzlich zu uns in die phpug-hannover eingeladen:
http://www.phpug-hannover.de/

da kann man prima bei einen bier über solche probleme sprechen.
(naja vieleicht aus berlin etwas weit)

Rudirabbit 13. Okt 2006 18:05

Re: Formular über PHP senden klappt nicht
 
Hi !

Stehe vor dem selben Problem, habe es mal so versucht, geht auch nicht :wall:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
Werte : TStringStream;

begin
Werte := TStringStream.create('');
IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';

Werte.WriteString('P1=' + parameter1 '&');
Werte.WriteString('P2=' +parameter1);

IdHttp1.Post('http://localhost/Test/script.php', Werte);
.....

Wenn ich aber das hier Versuche funzt es:
Delphi-Quellcode:
 IdHttp1.Post('http://localhost/Test/script.php?P1='+parameter1+'&P2='+parameter1,Werte);
"werte" ist hier ohne Belang, aber mit dieser Lösung bin ich nicht wirklich zufrieden :gruebel:
Es muß doch die Übergabe via (hier-->werte) möglich sein !

MFG

mkinzler 13. Okt 2006 18:37

Re: Formular über PHP senden klappt nicht
 
Du untere Lösung verwendet GET-Parameter und keine Post-Parameter.

Rudirabbit 14. Okt 2006 09:14

Re: Formular über PHP senden klappt nicht
 
Hi !
@mkinzler: THX ! Jetzt funzt es auch mit IdHttp1.Post, nachdem ich die PHP ( von GET auf POST ) geändert habe :oops:
Befasse mich mit PHP erst seit kurzem.

MFG !

XXcD 6. Nov 2006 17:52

Re: Formular über PHP senden klappt nicht
 
Hallo, ich wollte mal kurz fragen was noch in uses rein muss da der mir bei "TIdMultiPartFormDataStream" undefinierter bezeichner anzeigt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:45 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