Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Parameterübergabe an ein PHP-Skript klappt nicht (https://www.delphipraxis.net/16586-parameteruebergabe-ein-php-skript-klappt-nicht.html)

TStringlist 19. Feb 2004 16:38


Parameterübergabe an ein PHP-Skript klappt nicht
 
Hallo, ich wollte mal kurz (auch gemäß dieses Threads) eine PHP-basierende Email erzeugen. Leider aber scheint das dann Script-mäßig irgendwie an der Parameterübergabe zu scheitern. Vielleicht sieht ja jemand, wie das Skript hier diesbezüglich richtig formuliert aussehen müsste.


Hier mal kurz die Prog-Zeilen mit denen ich das Ganze zur php-Seite sende:
Code:
  data := TIdMultiPartFormDataStream.Create;
  try
    data.AddFormField('an', 'xxxx-yyyy@web.de');
    data.AddFormField('betreff', 'jo funktioniert');
    data.AddFormField('text', 'Hallo, test erfolgreich');

    Memo1.Lines.Text := IdHTTP1.Post('http://mitglied.lycos.de/zzzz/test.php', data);
  finally
    data.Free;
  end;

Und hier die u.a. bisher versuchten Scripte:

<?php
mail("$an", "$betreff", "$text");
?>

..hierauf gab's leider keinerlei Reaktion, dh. es wurde kein Email erzeugt.


Dann habe ich es auch mal mit dieser $_Get -Funktion versucht.

<?php
mail($_Get("an"), $_Get("betreff"), $_Get("text"));
?>

..zurückgeschickter Kommentar (in Memo1.Lines.Text):


Fatal error: Call to undefined function: () in /data/members/free/tripod/de/f/e/l/feldhecke/htdocs/test.php on line 2


Eigene Bemerkung: wahrscheinlich meint er hier die $_Get() -Funktion, oder?


Mit Konstanten:

<?php
mail("xxx-yyy@web.de", "php-mail", "aber nur mit Konstanten");
?>

..funktioniert das mail-Versenden allerdings, also müsste es prinzipiell doch irgendwie gehen:


Frage nochmal: Wie müsste das Skript aussehen, um dass unter den Bedingungen (= oben benutzte IdHTTP1.Post-Methode) die Parameterübergabe zur php-mail-Funktion klappt?

DataCool 19. Feb 2004 23:09

Re: Parameterübergabe an ein PHP-Skript klappt nicht
 
Hi,

ich weiß wie's richtig geht, aber gedult bis morgen, meine Frau ruft mich ins Bett :duck:

Gruß Data

Synonym 19. Feb 2004 23:12

Re: Parameterübergabe an ein PHP-Skript klappt nicht
 
das php script müsste so richig sein:

Code:
mail("$von","$betreff","
$text",
"From: $von
Content-Type: text/html");
gruß

synonym

TStringlist 19. Feb 2004 23:13

Re: Parameterübergabe an ein PHP-Skript klappt nicht
 
das hatte ich schon versucht, leider vergebens. Habe es auch schnell eben nochmal zusätzlich getestet - nochmal ohne Erfolg. Eine Mail wird leider nicht abgeschickt bzw. empfangen.

Pseudemys Nelsoni 19. Feb 2004 23:27

Re: Parameterübergabe an ein PHP-Skript klappt nicht
 
hi,

wieso benutzt du $_Get wenn du POST benutzt?

soweit ich weiss müsste es eher so aussehen:

Code:
<?php
  mail($_POST["an"], $_POST["betreff"], $_POST["text"]);
?>

DataCool 19. Feb 2004 23:27

Re: Parameterübergabe an ein PHP-Skript klappt nicht
 
Hi,

ach was soll's muss Frau kurz warten *g

Dein Name ist die Lösung !!!

Verwende eine StringList für die Parameter :

Code:
   strLParams := TStringList.Create;
   try
      strLParams.Add('an=xxxx-yyyy@web.de');
      strLParams.Add('betreff=jo funktionert');
      strLParams.Add('test=Hallo, Test erfolgreich');
      try
         sReply := HttpCon.Post(sReq,strLParams);
      except
         sReply := '';
      end;
         Memo1.Lines.Text := IdHTTP1.Post('http://mitglied.lycos.de/zzzz/test.php', strLParam);
   finally
      strLParams.free;
   end;
Im PHP-Script fragst Du die Werte mit :

$HTTP_POST_VARS["an"]
$HTTP_POST_VARS["betreff"] u.
$HTTP_POST_VARS["text"] ab.

Gruß Data

TStringlist 19. Feb 2004 23:43

Re: Parameterübergabe an ein PHP-Skript klappt nicht
 
@Pseudemys Nelsoni

Das mit $_POST hatte ich auch schon versucht, ebenso mit $_REQUEST u. $_SESSION - ging leider alles nicht.

@DataCool

Auf die .post-Methode mit TStrings habe ich zum Schluss auch schon so ein bisschen geschielt.

Wie allerdings kommst du auf folgendes (bzw. was soll das bezwecken?):

Code:
  try
     sReply := HttpCon.Post(sReq,strLParams);
  except
     sReply := '';
  end;
Also ohne dieses Codesequenz (die habe ich jetzt einfach mal weggelassen) wird leider auch keine Email abgeschickt. Bei diesem dann in etwa so aussehenden Skript:

<?php
echo $_HTTP_POST_VARS['an'];
mail($_HTTP_POST_VARS['an'], $_HTTP_POST_VARS['betreff'], $_HTTP_POST_VARS['text']);
?>

...gibt's leider auch keine Ausgabe von 'an', also dürfte auch hier die Variablenübergabe nicht so ganz klappen ...es sei denn, dieses HttpCon.Post() wird's noch irgendwie richten!?

TStringlist 20. Feb 2004 00:19

Re: Parameterübergabe an ein PHP-Skript klappt nicht
 
@DataCool

SUUUUPER, es geht doch!!!

Ich hatte mich vor lauter $_GET, $_Post, $_REQUEST u. $_SESSION's vorhin nur noch schnell dahingehend 'überreden' lassen, anstelle von $HTTP_POST_VARS ebenfalls gleich $_HTTP_POST_VARS zu schreiben. Und das ging natürlich nicht. Nachdem ich das korrigiert hatte, klappte es perfekt.


Also, allerbesten DANK nochmal!!!

Wadim 29. Feb 2004 10:23

Re: Parameterübergabe an ein PHP-Skript klappt nicht
 
Zitat:

Zitat von DataCool
Hi,

ach was soll's muss Frau kurz warten *g

Dein Name ist die Lösung !!!

Verwende eine StringList für die Parameter :

Code:
   strLParams := TStringList.Create;
   try
      strLParams.Add('an=xxxx-yyyy@web.de');
      strLParams.Add('betreff=jo funktionert');
      strLParams.Add('test=Hallo, Test erfolgreich');
      try
         sReply := HttpCon.Post(sReq,strLParams);
      except
         sReply := '';
      end;
         Memo1.Lines.Text := IdHTTP1.Post('http://mitglied.lycos.de/zzzz/test.php', strLParam);
   finally
      strLParams.free;
   end;
Im PHP-Script fragst Du die Werte mit :

$HTTP_POST_VARS["an"]
$HTTP_POST_VARS["betreff"] u.
$HTTP_POST_VARS["text"] ab.

Gruß Data

bei mir sagt er das sReply ein undefinierter bezeichner ist??? - woran liegt das - mus man noch das davor definierten????

fkerber 29. Feb 2004 10:36

Re: Parameterübergabe an ein PHP-Skript klappt nicht
 
Hi!

Du musst sreply noch als String definieren. Bei den Variablen.

Ciao fkerber


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:14 Uhr.
Seite 1 von 2  1 2      

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