Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PHP - unterschiedliche Dateien mit case starten (https://www.delphipraxis.net/64998-php-unterschiedliche-dateien-mit-case-starten.html)

eddy 10. Mär 2006 21:48


PHP - unterschiedliche Dateien mit case starten
 
Hallo Leute,

in den PHP-Foren versteht man mich offensichtlich nicht. Ich komme mir programmtechnisch in die Steinzeit versetzt vor. Simple Funktionen (aus Delphi-Sicht) lassen sich wohl nur mit Verrenkungen realisieren.

Vielleicht versteht ja hier jemand, wonach ich suche.

Wie wird der Start eines Programms in Abhängigkeit von einer Variablen realisiert.
Code:
<?PHP
$var = $_POST['eingabe'];
switch($var)
{
  case 0:
    echo '$var ist gleich 0';
    starte progamm01.php;           // <-- wie wird das programmtechnisch realisiert
  break;
  case 1:
    echo '$var ist gleich 1';
//    starte programm02.php;
  break;
  case 2:
    echo '$var ist gleich 2';
//    starte progamm03.php;
  break;
}
?>
In Delphi würde das wohl so aussehen:
Delphi-Quellcode:
var
  selector : integer;
begin
  selector := StrToInt(Edit.Text);
  case selector of
     0: ShellExecute(Handle, nil, PChar(Programm01.exe), nil, nil, SW_SHOW);
     1: ShellExecute(Handle, nil, PChar(Programm02.exe), nil, nil, SW_SHOW);
     2: ShellExecute(Handle, nil, PChar(Programm03.exe), nil, nil, SW_SHOW);
  end;
end;
Fehlerbehandlung sei mal vernachlässigt!

Ich hoffe, hier findet sich jemand, der weiß, wie man soetwas in PHP umsetzen kann.

mfg
eddy

[edit=alcaeus]PHP-Code sieht in Code-Tags besser aus ;) Mfg, alcaeus[/edit]

DGL-luke 10. Mär 2006 21:52

Re: PHP - unterschiedliche Dateien mit case starten
 
Delphi-Referenz durchsucheninclude() und evtl. seine nahen verwandten include_once(), require() und require_once()

;)

ach ja: ein "echtes" programm kann man eventuell mit system() starten.

eddy 10. Mär 2006 22:45

Re: PHP - unterschiedliche Dateien mit case starten
 
Hallo DGL-luke,

danke für die Antwort. Da gibt's wohl bei mir noch ein paar Klemmer, denn im PHP-Forum hat man mich auch auf include verwiesen. Also noch mal die gefundenen Beispiele und den eigenen Code vergleichen, bis ich den Fehler gefunden habe.

mfg
eddy

Corelgott 11. Mär 2006 00:32

Re: PHP - unterschiedliche Dateien mit case starten
 
hmm

darf man da unter umständen auch require_once($file); empfehlen?
Das ist fast so wie include... bloß wenns nicht klappt schmiert dein script mit "die" ab. Das ist ne ecke sicherer,
außerdem bewirkt das teil, dass du das script nur einmal importiern kannst.

aso und ehe du mit case den ganzen krams machst... schon mal an so was gedachte

Code:
  $seiten = array('wasDuWolle' => 'standartseite.php', 'seite01' => 'echt_tolle_seite.php', 'seite2' => 'ne_nochbessere_seite.php');
  // eine liste, die seitennamen an dateinamen bindet. So kann man vermeinden, dass man jede daeti "öffnen" kann

  $gewollteSeite = isset($_POST['gewollteSeite']) ?  $_POST['gewollteSeite'] : 'wasDuWolle';
  // if bloß in kurz -> condition ? true : false;

  if (in_array($gewollteSeite, $seiten))        // gibt es die seite überhaupt?
    if (file_exists($seiten[$gewollteSeite]))   // ist die auch ganz sicher auf dem server? 
       require_once($seiten[$gewollteSeite]);   // na wenn das alles passt versuchen wir mal die laufen zu lassen ^^
  // else sollte man aber auch bescheid sagen ^^
ist ungetestet und nur so auf dem gedächtnis... so als denkanstoss ^^

cya
Corelgott

mkinzler 11. Mär 2006 08:05

Re: PHP - unterschiedliche Dateien mit case starten
 
Der unterschied zwischen include und require ist, das wenn die enzufügende datei nicht existiert im ersten Fall das Skript einfach weiterläuft und im 2. Fall abgebrochen wird. das require_once sorgt dafür das eine Datei nur einmal eingebunden wird z. wenn 1.php sowohl 2,php und 3.php einbindet und das 2. schon von 2.php eingebunden wird.

faux 11. Mär 2006 08:33

Re: PHP - unterschiedliche Dateien mit case starten
 
Was verstehst du denn unter "starten"?
Soll der Browser zur URL wechseln, das aktuelle Skript abgebrochen und ein anderes dafür geparst werden, das andere Skript zusätzlich geparst werden, oder soll die Datei zum download angeboten werden, oder...
Oder willst du am Webserver eine Anwendung starten?

Grüße
Faux


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