toppy Geschrieben 13. Juni 2007 Geschrieben 13. Juni 2007 Kann ich mit PHP prüfen, ob ein bestimmtes Wort in einer aufgerufenen URL vorkommt? Hintergrund ist der, dass ich für Popups mit Detailangaben ein anderes Template verwenden möchte als für die "normale" Seite (also ohne Navi, Header etc.) Sollte irgendwie sowas sein: if (in URL = das Wort 'detail') { dann }[/PHP]
mi.nie Geschrieben 13. Juni 2007 Geschrieben 13. Juni 2007 Hey, sollte mit hiermit machbar sein greetZ
toppy Geschrieben 13. Juni 2007 Autor Geschrieben 13. Juni 2007 Sorry, da steig ich als PHP-Anfänger nicht ganz durch Kannst du mir das bitte mal näher erläutern bzw. ein Beispiel geben?
toppy Geschrieben 13. Juni 2007 Autor Geschrieben 13. Juni 2007 Mh, hab's jetzt so probiert, aber er springt immer in den else-Zweig: if (strpos($URL, detail)) { $tpl = new fxl_template("../templates/ger/popup.tpl"); //Ausgabe $tpl->assign(array( "inhalt" => $tpl_inhalt )); $tpl->display(); }[/PHP]
geloescht_JesterDay Geschrieben 13. Juni 2007 Geschrieben 13. Juni 2007 Mh, hab's jetzt so probiert, aber er springt immer in den else-Zweig: Warnung Diese Funktion kann sowohl das Boolsche FALSE zurückliefern, als auch einen nicht-Boolschen Wert, wie zum Beispiel0 oder "". der von einem einfachen if-Statement als FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die Boolsche Typen. Benutzen Sie deshalb den === Operator um den Rückgabewert dieser Funktion zu überprüfen if ((strpos($URL, detail)) === false) { ... } else { ... } [/PHP] vielleicht so?
toppy Geschrieben 13. Juni 2007 Autor Geschrieben 13. Juni 2007 Nee, ging leider auch nicht - ist wieder in den else-Zweig gesprungen. Hab's jetzt anders gelöst. Verweise jetzt direkt im Template auf die neue Version ohne Navi etc. Muss zwar jetzt alle entsprechenden Templates bearbeiten, aber was soll's... Danke trotzdem für eure Hilfe
mi.nie Geschrieben 13. Juni 2007 Geschrieben 13. Juni 2007 <?php if(stristr($URL, 'detail') === FALSE) { echo '"detail" nicht gefunden'; }else{ echo '"detail" gefunden'; } ?> [/PHP] Tut mir leid, hab vorhin die Funktionen, aber so sollte es gehen.Bei $URL musst du nur den zu prüfenden String einfügen
`kiko Geschrieben 18. Juni 2007 Geschrieben 18. Juni 2007 Und da du in deinem ersten Beitrag von "aufgerufener URL" gesprochen hast, geh ich davon aus, dass du die aktuelle URL meinst, die du per PHP mit Hilfe von $_SERVER['PHP_SELF'] ausgeben kannst. ´gruß [edit] falls du aber auch $_GET-Variablen mit einschließen willst.. also die komplette URL, die auch in der Adressleiste angezeigt wird, würde ich folgende Funktion aufstellen. function url_ausgabe() { $get_var = ""; foreach($_GET as $key => $value) { $get_var .= "?".$key."=".$value; } return $_SERVER['PHP_SELF']."&".$get_var; } if(stristr(url_ausgabe(), 'detail') === FALSE) { echo '"detail" nicht gefunden'; }else{ echo '"detail" gefunden'; } [/php]
Amstelchen Geschrieben 18. Juni 2007 Geschrieben 18. Juni 2007 function url_ausgabe() { $get_var = ""; foreach($_GET as $key => $value) { $get_var .= "?".$key."=".$value; } return $_SERVER['PHP_SELF']."&".$get_var; } das beweist mir wieder einmal, dass PHP vielen die möglichkeit gibt, das rad neu zu erfinden :schlaf: wieso einfach, wenn es kompliziert geht? return $REQUEST_URI s'Amstel
mi.nie Geschrieben 18. Juni 2007 Geschrieben 18. Juni 2007 @Amstelchen: Er will aber nicht wissen, ob es eine URL ist, sondern ob die URL das Wörtchen detail beinhaltet
`kiko Geschrieben 18. Juni 2007 Geschrieben 18. Juni 2007 rofl ^^ hatte echt nie mit gearbeitet mit REQUEST_URI ^^ naja man verlernt nie ^^ Also haste, damit es nun completo ist: if(stristr(url_ausgabe(), 'detail') === FALSE) { echo '"detail" nicht gefunden'; }else{ echo '"detail" gefunden'; } [/php] damit überprüfst du, ob in der akuellen URL das Suchwort "detail" vorhanden ist. ´gruß
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden