(include) Ausführen Abhängig auf welcher Seite eingefügt
Moses
- php
Hallo,
sorry für die etwas kryptische Themenbeschreibung - wußte nicht wie ich es besser formulieren sollte, daher wußte ich auch nicht wirklich nach was ich suchen muß...
Problem:
habe eine PHP-Datei in die eine Datei über require () eingefügt wird.
Diese REquire Datei enthält eine Suchfunktion.
Nun soll die Funktion jenachdem auf welcher SEite sie eingefügt ist nach verschiedenen Sachen suchen
z.B.
Seite 1 eingefügte Seite soll nach Obst suchen
Seite 2 eingefügte SEite soll nach Gemüse suchen.
Wie definiere ich die Bedingung, damit die jeweilige Funktion richtig ausgeführt wird
if seite1
{
suche 1
}
elseif seite 2
{
suche 2
}
else
{
suche3
}
Wie definiere ich Seite 1 / Seite2 etc. das sind ja in dem Sinne keine Variablen die übergeben werden, oder?
Ich hoffe ich habe mich einigermaßen deutlich ausgedrückt und hoffe, daß ihr mir mit diesem einfachen Problem helfen könnt - ich steht momentan einfach total auf dem Schlauch :-(
Danke und Grüße,
Moses
Hallo Moses.
Wie definiere ich Seite 1 / Seite2 etc. das sind ja in dem Sinne keine Variablen die übergeben werden, oder?
Du kannst im inkludierten Script, welches die Suchfunktion enthält auf $_SERVER['PHP_SELF'] oder auch $_SERVER['SCRIPT_NAME'] zugreifen, was den Dateinamen des inkludierenden Scriptes enthält.
Einen schönen Sonntag noch.
Gruß, Ashura
Du kannst im inkludierten Script, welches die Suchfunktion enthält auf $_SERVER['PHP_SELF'] oder auch $_SERVER['SCRIPT_NAME'] zugreifen, was den Dateinamen des inkludierenden Scriptes enthält.
Hallo Ashura,
erstmal danke.
Also müßte ich schreiben
if ($_SERVER['SCRIPT_NAME']=='obst.php')
{
suche nach Obst;
}
elseif ($_SERVER['SCRIPT_NAME']=='gemuese.php')
{
suche nach Gemüse;
}
Habe ichd as so richtig?
Grüße,
Moses
Hallo Moses.
Also müßte ich schreiben
if ($_SERVER['SCRIPT_NAME']=='obst.php')
{
suche nach Obst;
}
elseif ($_SERVER['SCRIPT_NAME']=='gemuese.php')
{
suche nach Gemüse;
}
>
> Habe ichd as so richtig?
Hast du dir einmal $\_SERVER['SCRIPT\_NAME'] ausgeben lassen?
Du wirst sehen, dass obige Bedingungen niemals zutreffen können. Entweder korrigierst du dies also oder verwendest [strpos](http://www.php.net/manual/de/function.strpos.php) um auf das Vorhandensein einer Zeichenkette zu prüfen.
Einen schönen Sonntag noch.
Gruß, Ashura
--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[[HTML Design Constraints: Logical Markup](http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/HTMLConstraints.html)]
Hallo Moses,
Du kannst im inkludierten Script, welches die Suchfunktion enthält auf $_SERVER['PHP_SELF'] oder auch $_SERVER['SCRIPT_NAME'] zugreifen, was den Dateinamen des inkludierenden Scriptes enthält.
Also müßte ich schreiben
if ($_SERVER['SCRIPT_NAME']=='obst.php')
{
suche nach Obst;
}
...Habe ichd as so richtig?
Das PHP-Handbuch empfiehlt zum Heraus-Pulen des Dateinamens aus einem Pfad die Funktion basename().
Also machst du es so:
$wer_bin_ich = basename($_SERVER['SCRIPT_NAME']);
if('obst.php' == $wer_bin_ich) {
// suche nach obst
}
...
Grüße,
Moses
Und ich dachte bisher immer, du wüsstest alles ... ;-)
MffG
EisFuX