Datei Namen mit Umlauten!

Status
Nicht offen für weitere Antworten.

marcoX

Erfahrenes Mitglied
Hi,

jetzt habe ich eine ganz dumme Frage!
Ich mache eine Seite, wo angezeigt wird, wo sich der Besucher befindet.
So, nun habe ich eine Seite Names: "Wir über uns".
Die Datei ansich heiss: "wirueberuns.php".
Wenn ich jetzt auf den Link "Wir über uns" klicke, wird klarer weise
"wirueberuns" angezeigt. Schöner wäre es aber, wenn "Wir über uns" angezeigt würde!
Ich habe die Datei mal umbenannt (obwohl man das nicht sollte) in "Wir über uns.php"!
Und siehe da, es wird genau so dargestellt und im Browser (in der Adressleiste) wird folgendes
ausgegeben: "index.php?page=Wir%20%FCber%20uns" !
Kann man das nun so lassen oder besser nicht!?

Echt eine dumme Frage, aber ich weiss in diesem Falle echt keinen Rat.
Ich weiss nur, dass man es eigentlich nicht machen sollte, aber wenn es funktioniert!?

Vielen Dank schon mal
Marco
 
An der Stelle, an der "Wir über uns" angezeigt werden soll (und alle anderen Titel), kannst du doch prima eine Abfrage machen, was "page" gerade für einen Wert hat und dementsprechend den Titel ausgeben.
 
Hey!

So ein ähnliches Problem hatte ich auch.
Ich hab mir dann selber ein kleines ID System gebastelt, was ich bis jetzt immer genutzt habe - der Vorteil ist du kannst alle Grafiken etc. anpassen.

Also jeder Link den du setzen möchtest, sieht ungefähr so aus "index.php?id=13" oder "index.php?id=56" oder "index.php?id=1305"
Die Zahl hinter der ID setzt sich wie folgt zusammen:
1. Zahl > 1. Linkebene
2. Zahl > 2. Linkebene
und man kann zum Beispiel auch folgendes machen
3+4. Zahl > 3. Linkebene

Wenn du also von deiner Startseite 3 Kategorien hast, reicht ja eine einstellige Zahl.
Wenn du nun zum Beispiel die 1. Kategorie gewählt hast (index.php?id=1) dann öffnet sich z.B. wieder eine Seite in der sagen wir mal 15 Links zu finden sind. Nun baust du einfach alles zusammen "index.php?id=113" (wäre dann 1. Ebene und dann 13. Link).
So weisst du immer genau wo welcher Link herkommt.

Nun baust du in die index.php eine ID-Datei ein (ist eine normale PHP Datei).
Die sieht so aus
PHP:
<?
switch($_GET['id'])
case 1:
$titel = "Hallo";
$inhalt = "hallo.php";
$grafik = "banner.php";
break;

case 2:
...
break;


case 21
$titel = "Kat2 - Thema1";
$inhalt = "ausgang.php";
$grafik = "bounce.gif";
break;

default:
$titel = "Standard";
$inhalt = "fehler.php";
$grafik = "error.png";
break;

...
}
//jenachdem welche ID aufgerufen wurde, wird der Name, das Bild und die $inhalt gesetzt
?>

Weiter unten in der index.php bindest du dann einfach alles so ein:

HTML:
<img src="<?php echo $grafik; ?>">
ODER
<?php
include $inhalt;
?>
ODER
<p><?php echo $titel; ?></p>

Dank der id.php werden die Variablen alle gesetzt und die Seite kann ganz dynamisch angezeigt werden.
Fragen? Bitte melden
 
Zuletzt bearbeitet:
Vielen Dank mal für Eure Antworten!

@Consti,

ich habe das mal probiert und bekomme folgenden Fehler angezeigt:
Parse error: parse error, unexpected T_CASE, expecting ':' or '{' in /opt/lampp/htdocs/test/index.php on line 3

Vieleicht stell ich mich nur dumm an ...

Marco
 
jojo, das kann wohl passieren das ich mich da irgendwo mal vertippt habe, aber das kannst du ja zur Not auch noch eben schnell bei php.net nachgucken.

Sollte ja nur als Beispiel gelten, da du das ganze ja eh selber für dich anpassen musst.
 
Consti hat gesagt.:
jojo, das kann wohl passieren das ich mich da irgendwo mal vertippt habe, aber das kannst du ja zur Not auch noch eben schnell bei php.net nachgucken.

Sollte ja nur als Beispiel gelten, da du das ganze ja eh selber für dich anpassen musst.
Klar kann das passieren! ;)
Jetzt funktioniert es auch!

Vielen Dank noch mal!
Marco
 
Ach noch was, was ich jetzt ein bisschen vergessen habe:

Du kannst anstatt dem eher unklaren Zahlsystem natürlich auch Namen Setzen - also z.B. index.php?id=home - Die Abfrage bleibt dann ja gleich nur das der als Case keine Zahl sondern ein Wort hat!
Problem dabei ist, dass es bei ganz vielen Seiten schnell unübersichtlich wird, und die am Ende nicht mehr genau weisst, wo was hingekommt!
 
Status
Nicht offen für weitere Antworten.
Zurück