![]() |
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:
und eine solche PHP-Datei mit Funktionen:
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;
Delphi-Quellcode:
Wie kann ich jetzt auf die einzelnen Funktionen zugreifen. Es soll nämlich nich immer jede aufgerufen werden...?
<?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(); } ?> Danke im Vorraus! |
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:
Die Variable $mode muss dann natürlich in deinem Delphi-Programm gesetzt werden, je nachdem, was gemacht werden soll.
<?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(); } ?> |
Re: Funktionen mit Delphi in PHP-Script..
Hm, habs probiert, aber nicht so ganz hinbekommen.
Wie würde denn der Aufruf aussehen? |
Re: Funktionen mit Delphi in PHP-Script..
In etwa so:
Delphi-Quellcode:
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.
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; |
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 ;-( |
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:
hinzugefügt werden. Jetzt funzt alles wunderbar :firejump: :bouncing4:
$mode=$_POST['$mode'];
|
Re: Funktionen mit Delphi in PHP-Script..
Naja, kommt auf die PHP-Kongiguration an ;-)
|
Re: Funktionen mit Delphi in PHP-Script..
Kann man das auch vereinfachen?
Wenn ja, wie? PS: habe PHPAdmin |
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 |
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