![]() |
Formular über PHP senden klappt nicht
Ich versuche wie folgt ein Formular zu versenden:
das PHP-Script:
Code:
Gefüllt und übergeben wird es wie folgt:
<?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"); ?>
Delphi-Quellcode:
So langsam verstehe ich überhaupt nichts mehr.
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; PS: Ich bin nicht gerade der PHP-Profi. Mehr der Dummy. [edit=alcaeus]PHP-Code in code-Tags gewickelt ;) Mfg, alcaeus[/edit] |
Re: Formular über PHP senden klappt nicht
den fehler sehe ich nicht auf anhieb.
ABER ich sehe ein Sicherheitsproblem! Wenn du diese Zeile:
Code:
so benutzt, machst du für die lieben spammer ein offenes mail relay.
mail($admin,$subject,$message,"From: $email");
(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: ![]() da kann man prima bei einen bier über solche probleme sprechen. (naja vieleicht aus berlin etwas weit) |
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:
"werte" ist hier ohne Belang, aber mit dieser Lösung bin ich nicht wirklich zufrieden :gruebel:
IdHttp1.Post('http://localhost/Test/script.php?P1='+parameter1+'&P2='+parameter1,Werte);
Es muß doch die Übergabe via (hier-->werte) möglich sein ! MFG |
Re: Formular über PHP senden klappt nicht
Du untere Lösung verwendet GET-Parameter und keine Post-Parameter.
|
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 ! |
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