PHP || kurze Frage

kreilinger

Ensign
Registriert
Aug. 2004
Beiträge
221
hallo,

ich hab mal auf ner seite (weis nicht mehr welche) folgendes gesehen:

in der adressleiste stand: "http://www.123abcblabla.de/index.php?ref=seite11.php"


je nachdem, welcher seitenname am ende der url steht, wird die entsprechende seite angezeigt.

egal, welche seite man aufruft, am anfang steht immer: "......../index.php?ref=seitexy.php"

nun die frage:

wie macht man sowas?

danke im vorhinein....
 
Einfach ein PHP Script schreiben mit einer Weiterleitung zu dem Inhalt der Variable $ref.

Ungefähr so:

PHP:
<meta http-equiv="refresh" content="1; url=<?php echo $ref; ?>">
 
Zuletzt bearbeitet:
also erstmal danke für die schnelle antwort!

ok, ich glaube ich habe begriffen, um was es bei der sache geht.....

kennt vielleicht jemand eine seite, auf der man sowas (oder ähnliches) vorfindet?

mfg
 
Es ist zwar theoretisch möglich, einfach eine weiterleitung zu nutzen, aber da es gerade die index Seite ist, glaube ich, dass es sich darum um eine sehr simple Template Engine handelt.
zb:
PHP:
<html>
<head>
....
</head>
<body ...>
...
<div class="inhalt">
<?php
include($HTTP_GET_VARS['ref']); // Falls Register Globals aktiviert ist, auch einfach nur $ref
// statt include kann auch die Datei erst eingelesen und evtl. auch noch geparst werden
?>
</div>
...
</html>
So hat man die Texte in einer einzelnen Datei und wenn man etwas am Design ändern will, so braucht man das nur an einer einzigen Datei zu tun.
Nat5ürlich ist das nur ein Beispielcode, im "echten Einsatz" müssten da natürlich noch einige Sicherheitsabfragen rein.
 
Ich kenn eine Seite... computerbase.de ;)
 
Naja was ist daran so schwer?
Du hast in einem ordner die Seitendateien (1.php, 2.php, usw.)

per $_GET wird die aktuell aufzurufende Seite angegeben, im Script machst du dann per:
header("Location: ".$_GET["ref"]);

eine Weiterleitung auf die PHP-Datei.

Mal ganz davon abgesehen, dass es da viel elegantere Varianten gibt :D
 
Dieses Script ist wohl auch eher dazu da, diese Datei in einem bestimmten Frame aufzurufen.
 
http://de.php.net/switch

schau dir das mal an

switch($_GET['ref']) {
case "bla": include "bla.php"; break;
case "blub" include "bla2.php"; break;
default: include "stadard.php"; break;
}

find ich irgendwie edler :o
 
Aber denkt bitte daran, dass man da URL fopen wrappers standardmäßig aktiv ist, auch URLs includen kann, was unter Umständen für einen Hacker sehr interessant ist, da er dann böswilligen Code laden kann.
 
er kann den html code zerstören
aber mit sicherheit nicht den php code
zudem reagiert switch ja bloß auf bekannte "urls"
 
ok leute, ich weis jetzt um was es geht!

danke für eure hilfe!

greetz
 
ownagi schrieb:
er kann den html code zerstören
aber mit sicherheit nicht den php code

Bei der nicht-switch Lösung kann er das sehr wohl. Was besseres als include($_GET['...']) kann einem Hacker/Cracker wohl kaum passieren :)
 
muss ich zustimmen, mein fehler :o
 
Zurück
Oben