Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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]

Geschrieben

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]

Geschrieben
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?

Geschrieben

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... :rolleyes:

Danke trotzdem für eure Hilfe :)

Geschrieben


<?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 :)

Geschrieben

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]

Geschrieben

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

Geschrieben

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ß

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...