Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Funktionen mit Delphi in PHP-Script.. (https://www.delphipraxis.net/31681-funktionen-mit-delphi-php-script.html)

TheMiller 12. Okt 2004 15:45


Funktionen mit Delphi in PHP-Script..
 
Hey..

also, erstmal das Off-Topic: Ich habe mich durch mehrere Foren durchgeschlagen und bin jetzt wieder bei der DP gelandet, bei der ich schon länger bin... Ich muss sagen, es ist schön, "wieder zu Hause zu sein"!.

das nur am Rande. Jetzt mei Prob...

Ich habe folgenden Code:

Delphi-Quellcode:
var sl : TStringlist;
begin
  sl := TStringList.Create;
  sl.Add('$db_server='+Edit1.Text);
  sl.Add('$db_name='+Edit2.Text);
  sl.Add('$db_user='+Edit3.Text);
  sl.Add('$db_passwort='+Edit4.Text);
  Memo1.Text := idHttp1.Post('http://www.xxx.de/script.php',sl);
  FreeAndNil(sl);
end;
und eine solche PHP-Datei mit Funktionen:

Delphi-Quellcode:
<?PHP
  $db_server=$_POST['$db_server'];
  $db_name=$_POST['$db_name'];
  $db_user=$_POST['$db_user'];
  $db_passwort=$_POST['$db_passwort'];
  $test='hallo';
  $aaa=$_POST['$aaa'];
  $bbb=$_POST['$bbb'];
 

/*echo    $_POST['$db_server'].chr(13).chr(10);*/
/*echo    $_POST['$db_name'].chr(13).chr(10);*/
/*echo    $_POST['$db_user'].chr(13).chr(10); */ 
/*echo    $_POST['$db_passwort'].chr(13).chr(10);*/
/*echo    $test;*/


function connect()
{
$db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort)
    or die ("Konnte keine Verbindung zur Datenbank herstellen"); $db_select = @MYSQL_SELECT_DB($db_name); if($db_select)   echo "Datenbank wurde ausgewählt";
}

function insert()
{
$result = mysql_query("INSERT INTO test (aaa,bbb)
    VALUES ('sss','sss')");
  $var = mysql_insert_id();  echo $var;
echo mysql_error();
}
?>
Wie kann ich jetzt auf die einzelnen Funktionen zugreifen. Es soll nämlich nich immer jede aufgerufen werden...?

Danke im Vorraus!

tommie-lie 12. Okt 2004 16:01

Re: Funktionen mit Delphi in PHP-Script..
 
Was du bräuchtest wäre ein weiterer Parameter, der angibt, welche Funktion ausgeführt werden soll:
Code:
<?php
/* blubb */

switch ($mode) {
  case "connect":
    connect();
    break;
  case "insert":
    insert();
    break;
}

function connect()
{
$db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort)
    or die ("Konnte keine Verbindung zur Datenbank herstellen"); $db_select = @MYSQL_SELECT_DB($db_name); if($db_select)   echo "Datenbank wurde ausgewählt";
}

function insert()
{
$result = mysql_query("INSERT INTO test (aaa,bbb)
    VALUES ('sss','sss')");
  $var = mysql_insert_id();  echo $var;
echo mysql_error();
}

?>
Die Variable $mode muss dann natürlich in deinem Delphi-Programm gesetzt werden, je nachdem, was gemacht werden soll.

TheMiller 12. Okt 2004 16:39

Re: Funktionen mit Delphi in PHP-Script..
 
Hm, habs probiert, aber nicht so ganz hinbekommen.

Wie würde denn der Aufruf aussehen?

tommie-lie 12. Okt 2004 16:45

Re: Funktionen mit Delphi in PHP-Script..
 
In etwa so:
Delphi-Quellcode:
var sl : TStringlist;
begin
  sl := TStringList.Create;
  sl.Add('$db_server='+Edit1.Text);
  sl.Add('$db_name='+Edit2.Text);
  sl.Add('$db_user='+Edit3.Text);
  sl.Add('$db_passwort='+Edit4.Text);
  sl.Add('$mode=connect'); // <-- oder eben insert, je nachdem, was du grad' machen willst
  Memo1.Text := idHttp1.Post('http://www.xxx.de/script.php',sl);
  FreeAndNil(sl);
end;
Und was ich vorher vergessen hatte: Wenn der Server mit PHP3 (und nicht PHP4) läuft, müssen die beiden Funktionen über dem switch-Konstrukt stehen.

TheMiller 12. Okt 2004 17:11

Re: Funktionen mit Delphi in PHP-Script..
 
Hm,

kannst du bitte mal nachsehen, ob die funktionen richtig aufgebaut sind und funktionieren müssen? Das tun sie nämlich nicht. Ich bekomme keinen Fehler, aber auch keine Erfolgsmeldung. Gar nix ;-(

TheMiller 12. Okt 2004 18:23

Re: Funktionen mit Delphi in PHP-Script..
 
Ok, ich habe selbst die Lösung.

Der Fehler lag bei der VariablenÜbergabe/Deklaration.

Es muss noch ganz oben

Delphi-Quellcode:
  $mode=$_POST['$mode'];
hinzugefügt werden. Jetzt funzt alles wunderbar :firejump: :bouncing4:

tommie-lie 12. Okt 2004 18:27

Re: Funktionen mit Delphi in PHP-Script..
 
Naja, kommt auf die PHP-Kongiguration an ;-)

TheMiller 12. Okt 2004 18:28

Re: Funktionen mit Delphi in PHP-Script..
 
Kann man das auch vereinfachen?

Wenn ja, wie?

PS: habe PHPAdmin

titus 12. Okt 2004 18:31

Re: Funktionen mit Delphi in PHP-Script..
 
es heißt aber $mode = $_POST['mode'];

Du kannst register_globals = On setzen dann geht $mode wieder.
Aber: Nicht zu empfehlen, da dann ja auch von $_GET['mode'] oder $_COOKIE['mode'] oder von $_SESSION['mode'] kommen könnte...

Achja es geht noch mit:
extract($_POST); // ganz oben in die Zeile, dann kannst du wie gewohnt $mode benutzen.

Lt. php.net auch nicht zu empfehlen.

mfG

TheMiller 12. Okt 2004 18:34

Re: Funktionen mit Delphi in PHP-Script..
 
hm, dann lasse ich es so. Ist ja eine einmalige deklaration, da ich diese Variale global verwende..


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