eigene Domain abfragen
Kalle_B
- php
Hallöle,
wie ja schon ausreichend diskutiert, habe ich meine Software auf zwei verschiedenen Domains laufen.
Nun sehen die Seiten natürlich vollkommen gleich aus.
Ich möchte die Domain abfragen, und wenn ich mit der "Kopie" arbeite, soll body eine andere Hintergrundfarbe haben.
$self = ( $_SERVER['PHP_SELF'] ) ? $_SERVER['PHP_SELF'] : $PHP_SELF; // PHP4 - PHP3
gibt die DOMAIN nicht an, nur den Pfad.
LG Kalle
hi,
$self = ( $_SERVER['PHP_SELF'] ) ? $_SERVER['PHP_SELF'] : $PHP_SELF; // PHP4 - PHP3
gibt die DOMAIN nicht an, nur den Pfad.
Und auf den Gedanken, mal zu schauen was $_SERVER noch alles für dich bereit hält, kommst du mal wieder nicht alleine ...?
gruß,
wahsaga
hi,
$self = ( $_SERVER['PHP_SELF'] ) ? $_SERVER['PHP_SELF'] : $PHP_SELF; // PHP4 - PHP3
gibt die DOMAIN nicht an, nur den Pfad.
Und auf den Gedanken, mal zu schauen was $_SERVER noch alles für dich bereit hält, kommst du mal wieder nicht alleine ...?
Aber ja doch
"Server Variablen: $_SERVER
Anmerkung: Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen benutzen Sie stattdessen $HTTP_SERVER_VARS. "
PHP4: $_SERVER['SERVER_NAME'] (ok)
PHP3: $HTTP_SERVER_VARS['SERVER_NAME'] (Fehlanzeige)
Wie also für PHP3?
Kalle
PHP4: $_SERVER['SERVER_NAME'] (ok)
PHP3: $HTTP_SERVER_VARS['SERVER_NAME'] (Fehlanzeige)
Ja gut, ich hab's: $SERVER_NAME
Halte ich aber nicht für die professionelle Methode, stundenlang auszuprobieren, was so geht. Vielleicht klappt es in Version x.y.z zufällig, aber in x.y.z1 nicht mehr.
Kalle
hi,
Halte ich aber nicht für die professionelle Methode, stundenlang auszuprobieren, was so geht. Vielleicht klappt es in Version x.y.z zufällig, aber in x.y.z1 nicht mehr.
Natürlich - aber dass das paralelle Entwickeln-wollen unter PHP 3 und PHP 4 auf Bastelei hinausläuft, sollte doch langsam klar sein.
gruß,
wahsaga
Hallo Kalle,
PHP4: $_SERVER['SERVER_NAME'] (ok)
PHP3: $HTTP_SERVER_VARS['SERVER_NAME'] (Fehlanzeige)Ja gut, ich hab's: $SERVER_NAME
Halte ich aber nicht für die professionelle Methode, stundenlang auszuprobieren, was so geht. Vielleicht klappt es in Version x.y.z zufällig, aber in x.y.z1 nicht mehr.
Darüber musst du dich nicht wundern, wenn du eine komplett veraltete und schon seit Ewigkeiten nicht mehr unterstützte Version benutzt. Dass das auf Frickelei hinausläuft merkst du ja schon selber. Vielleicht wäre es ein kleiner Aufwand auf PHP4 zu migrieren?
Schöne Grüße,
Johannes
Hallo,
$self = ( $_SERVER['PHP_SELF'] ) ? $_SERVER['PHP_SELF'] : $PHP_SELF;
diese Art Ausdruck hab ich jetzt hier in letzter Zeit des öfteren gelesen. Was bedeutet sie im Wortlaut?
Tschau
Tobias
Hallo Tobias.
$self = ( $_SERVER['PHP_SELF'] ) ? $_SERVER['PHP_SELF'] : $PHP_SELF;
diese Art Ausdruck hab ich jetzt hier in letzter Zeit des öfteren gelesen. Was bedeutet sie im Wortlaut?
https://forum.selfhtml.org/?t=124593&m=803409
Einen schönen Donnerstag noch.
Gruß, Ashura
Hallo,
Dank schön. Nun weiß ich bescheid.
Tschau
Tobias
Hello,
$self = ( $_SERVER['PHP_SELF'] ) ? $_SERVER['PHP_SELF'] : $PHP_SELF;
diese Art Ausdruck hab ich jetzt hier in letzter Zeit des öfteren gelesen. Was bedeutet sie im Wortlaut?
Das ist der Trinitätsoperator oder ternäre Operator.
http://de2.php.net/manual/de/language.operators.php
Der empfiehlt sich immer dann, wenn man aus "Nichtigkeit" keine eigene Funktion für etwas schreiben mag, in der dann ein vollständiger Entscheidungsausdruck benutzt wird.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hallo Tobias,
$self = ( $_SERVER['PHP_SELF'] ) ? $_SERVER['PHP_SELF'] : $PHP_SELF;
diese Art Ausdruck hab ich jetzt hier in letzter Zeit des öfteren gelesen. Was bedeutet sie im Wortlaut?
Unter http://www.php.net/manual/de/language.expressions.php findest Du eine Beschreibung des ternären Operators (Trinitätsoperator und wie er sonst noch genannt wird):
ausdruck1 ? ausdruck2 : ausdruck3
Funktionsweise:
Werte ausdruck1 aus
Ist der Wert wahr
dann werte ausdruck2 aus und gebe diesen Wert zurück,
sonst
werte ausdruck3 aus und gebe diesen Wert zurück
Freundliche Grüße
Vinzenz
Hello Kalle,
ich würde da ohnehin anders vorgehen, und als erstes die Funktion
http://de.php.net/manual/en/function.phpversion.php
benutzen. Entsprechend dieser Funktion würde ich dann die passenden Funktionen dazuladen.
Um noch einen Schritt weiterzugehen:
Du kannst für die Funktionen auch Wrapper bzw. Referenzen aufbauen.
Das ging auch schon bei PHP3.
siehe http://selfhtml.bitworks.de/ -> Array von Funktionen anlegen.
Mit den Aliasnamen kannst Du dann die eigentlichen Scripte erstellen.
Durch welche tatsächlichen PHP-Funktionen die ausgeführt werden, entscheidet das Versionsmodul.
Und ob die Globalen Server-Variablen in PHP3 ohne register_globals = on funktionieren, solltest Du auch prüfen, oder konnte man das in PHP3 noch nicht abschalten? Hab ich leider auch vergessen.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hi,
Ich ziehe es vor, mit den aktuellen PHP-Befehlen zu arbeiten und wenn die nicht zur Verfügung stehen, werden sie halt (mit identischem Namen) nachgebildet.
Also z.B. so:
if(!function_exists('ctype_digit')) {
function ctype_digit($text) { return preg_match("/^\d+$/", $text); }
}
Und BTW: So etwas wie $PHP_SELF sollte man nicht mehr benutzen. Der Zugriff kann schon bei PHP-4-Installationen bereits nicht mehr möglich sein.
Gruß, Cybaer
Moin!
Ich möchte die Domain abfragen, und wenn ich mit der "Kopie" arbeite, soll body eine andere Hintergrundfarbe haben.
Simpel: Du linkst auf beiden Servern auf die gleiche CSS-Datei (gleicher Datei- und Pfadname) - und die hat für den einen Server eine andere Hintergrundfarbe definiert, wie auf dem anderen Server.
- Sven Rautenberg
Moin!
Ich möchte die Domain abfragen, und wenn ich mit der "Kopie" arbeite, soll body eine andere Hintergrundfarbe haben.
Simpel: Du linkst auf beiden Servern auf die gleiche CSS-Datei (gleicher Datei- und Pfadname) - und die hat für den einen Server eine andere Hintergrundfarbe definiert, wie auf dem anderen Server.
Ja, eine einfache Lösung.
Zumal, wenn man eine kleine CSS- Datei NUR für diesen Unterschied hat. Dann nkann die normale CSS- Datei auf beiden Servern gleich sein.
Danke für den Tipp.
Kalle