hi,
wenn jm auf meine Seite geht sollen alle Inhalte aus einer Datenbank kommen. aber ich möchte nicht für jede Seite ein neues SQL Befehl schreiben.
Das brauchst du auch nicht.
wie kann ich an das rankommen was in der Adress - Zeile hinter meinem Domain namen steht?
Ich benutze derzeit für mein Mini-CMS die Funktion array_pop(), die ich nachträglich nochmal mit [link:http://de.php.net/explode@title=explode( "/", $_SERVER['REQUEST_URI'])]
behandle.
So komme ich an den letzten String nach „/“ in der URI und kann mit diesem Wert die Daten aus der Datenbank für eben diese Seite holen.
In Aktion sieht das dann ungefähr so aus:
$aufgerufene_url = array_pop (explode( "/", $_SERVER['REQUEST_URI']));
Wobei ich $_SERVER['REQUEST_URI'] (bei mir $query_request_check)
vorher schon auf unerwünschte Zeichen wie
'http|include|<|>|%3C|%3E|%22|'|ftp|:|script|select|order|distinct|delete|drop|insert|update|sourcedir|geocities'
untersuche, bevor ich $aufgerufene_url
in meinem Statement nutze.
# -----------------------
Der Gesamte codeabschnitt sieht so aus (Original Copy&Paste):
/*
* $_SERVER['REQUEST_URI'] von $_GET-Variablen befreien um Aktuellen Path zu erhalten
* nach unerwünschten Zeichen durchsuchen ; maximale länge der URI festlegen
* Resultat steht in $aufgerufene_url zur verfügung
*/
$query_request_check = preg_replace('|(.*)\?(.*)+$|', "$1", $_SERVER['REQUEST_URI']);
$badwords = 'http|include|<|>|%3C|%3E|%22|\'|ftp|:|script|select|order|distinct|delete|drop|insert|update|sourcedir|geocities';
if ((!preg_match("#$badwords#i", $_SERVER['REQUEST_URI']))
AND (strlen($_SERVER['REQUEST_URI']) > 0 && strlen($_SERVER['REQUEST_URI']) < 90))
{
// Liefert den letzten String nach dem letzten „/“ aus REQUEST_URI noch vor $_GET ('?')
$aufgerufene_url = array_pop (explode( "/", $query_request_check) );
}
else
{
$aufgerufene_url = '';
header("HTTP/1.1 403 Forbidden");
die("<html><head><title>Error 403 - Forbidden</title><head><body><h1>Die von dir angeforderte Ressource darf nicht angezeigt werden, überprüfe die eingegebene URI in der Adresszeile</h1></body></html>");
}
$aufgerufene_url
ist der Schlüssel, mit dem ich dann die Datenbank nach den gewünschten Inhalten durchsuche.
Verbesserungsvorschläge sind ausdrücklich erwünscht ;)
mfg
echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
array(2) {
["SELFCODE"]=>
string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
["Aight"]=>
string(?) "I Have a Dream"
}