PHP 5.3 --> auf aktuelle PHP umgestellt und Verlinkungen defekt??..

Da freue ich mich. Du kannst ja wenn es auf deinem Server installiert ist mod_rewrite benutzen.
Dann sieht die URL nicht so "öde" aus sondern man weiss sofort wo man ist Bsp:
Jetzt:
www.example.com/index.php?nav=rolladen&typ=metall
Mit mod_rewrite:
www.example.com/rolladen/metall/

Du erstellts eine .htaccess Datei im root verzeichnis da wo deine index.php liegt und fügst folgenes ind die Datei ein:
Code:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([^/]+)? index.php?nav=$1&typ=$2 [L,QSA]

und in der manager Datei
PHP:
<?php
$typ = filter_input(INPUT_GET, "typ");
$nav = filter_input(INPUT_GET, 'nav');
$typ = str_replace("/", " ", $typ);
$nav = str_replace("/", " ", $nav);
?>
und die links gehen dann so:
HTML:
<a href="rolladen/">Rolladen</a>
<!-- Unterkategorien -->
<a href="rolladen/metall/">Metall Rolladen</a>
 
Zuletzt bearbeitet:
Ich möchte hier nochmal kurz auf die neuen Abfragmethode eingehen:

Aktuell verwende ich folgende Abfrage:
$lcode = $_COOKIE['logincode'];

Wäre dies dann so korrekt?
$lcode = filter_input(INPUT_COOKIE, 'COOKIEVARIABLE')['logincode'];
 
Was möchtest du denn mit ['logincode'] soll das den nachstehenden code ersetzen?
Wenn ja kannst du es so machen:
PHP:
$lcode = filter_input(INPUT_COOKIE, 'logincode'); // $lcode hat jetzt immer noch den Wert von $_COOKIE['logincode] nur formatiert/gefiltert
Du musst dir das Ergebnis dann aber mal per var_dump oder echo ausgeben lassen ob der das auch richtig formartiert sonst muss du es nochmal formatieren (siehe meinen Post davor).

Edit : Ich glaube ich hab das falsch verstanden:). Mit ['logincode] bei filter_input wolltest du das lösen brauchst du aber nicht kannst es so wie oben machen
 
Zuletzt bearbeitet:
Danke für das Edit.
Genau so meinte ich es. :)

Wie kann ich denn folgende Abfrage darstellen?
if (isset($_SERVER) and array_key_exists('SERVER_NAME', $_SERVER) and !empty($_SERVER['SERVER_NAME']))

Ich würde dies auch gerne mit "filter_input" machen.
 
So sollte es gehen:
PHP:
$svr = isset($_SERVER)? filter_input(INPUT_SERVER, "SERVERNAME") : $_SERVER AND array_key_exists("SERVERNAME",$_SERVER)? true : false AND !empty($_SERVER);
if($svr){return true;}
 
Zuletzt bearbeitet:
Hallo,

ich hätte hier jetzt noch eine Frage:

ich nutze hier jetzt viel diesen Filter: FILTER_SANITIZE_URL
z.B. filter_input(INPUT_POST, 'warnlogin', FILTER_SANITIZE_URL);

Gibt es genau diesen Filter auch, nur dass dort Leerzeichen, Zeilenumbrüche und Umlaute zusätzlich noch erlaubt sind? Ich bin hier leider nicht fündig geworden.
 
Wenn es in der Doku nicht enthalten ist, dann wird keine weitere geben.
Das bedeutet dass du es dann Standard auswerten müsstes ohne filter_input :)
 
Zurück