PHP Verlinkung von Seiten und mehrere Seiten in einer PHP-Datei

raven16

Lieutenant
Registriert
Nov. 2008
Beiträge
580
Hallo irgendwie habe ich gerade voll Probleme mit der Inhaltstruktur von einer PHP-Datei. Je nachdem was der User für nen Link anklickt, soll ein anderer Inhalt erscheinen. Ich wollte jetzt nicht für jeden Inhalt ne neue PHP-Datei anlegen.

Links:
HTML:
<a class="leistung" href="profil.php?seite=1">Titel 1</a>
<a class="leistung2" href="profil.php?seite=2">Titel 2</a>

Inhalt:
PHP:
if(isset($_GET['seite'])=='1')
{		
	echo'
	<label class="title">Titel 1</label><br>
	<label class="text">
		Inhalt					
	</label>
	<br>';
}
else if(isset($_GET['seite'])=='2')
{
	echo'
	<label class="title">Titel 2</label><br>
	<label class="text">
		Inhalt
	</label>
	<br>';
}
else
{
       echo'...';
}

Phänomen jetzt ist, dass egal welchen Link ich anklicke immer nur den Inhalt von Titel 1 bekomme.
Also ich finde irgendwie keinen Fehler...
 
isset() gibt nur true oder false zurück. Lass das mal weg.
Wenn du auf den zweiten Link klickst, ist die Variable gesetzt, d.h. isset() gibt true zurück, d.h. 1 also wird trotzdem in die erste if-Abfrage reingesprungen.
 
Was er vermutlich eigentlich machen wollte war

isset($_GET['seite']) && $_GET['seite'] == 1
 
Danke das wars auch.

ich hatte das irgendwann mal gemacht, um eine Notiz vom System weg zu bekommen und mir dann irgendwie so angewöhnt.
 
Warum nicht switch?

PHP:
switch($_GET['seite']))
{
case "1":
  // do something
break;
case "2":
  // do something
break;
default:
  // do default
}
 
Was die Wartbarkeit des Codes angeht wäre es trotzdem sinniger für jeden Content-Typ ein eigenes PHP-Script zu schreiben und die Geschichte über Include zu lösen.

Ein Beispiel-Link: <a href="index.php?page=start">

und n Stück Beispielcode:

PHP:
if(isset($_GET['page']
{
 if(file_exists("page_".$_GET['page'].".php")
{
include("page_".$_GET['page'].".php");
}
}
else
{
/*
* TODO
* Fehlerbehandlung/404
*/
}

Natürlich mit entsprechenden Sicherheitsmechanismen, nicht so plump wie in meinem Beispiel.
 
@Daron:
Die Klammern sind falsch gesetzt. Wenn 'page' nicht gesetzt vorhanden, soll er 404 behandeln?
Klammer Zeile 7 nach ganz unten ;)
 
Hm... korrekt. Ich hab die Sache mit dem Else-Zweig fürs 404 erst ganz zum Schluss rein gehackt und die Klammer-Folge verpeilt.

Aber das Prinzip ist klar. Die Leute sollen ja auch nicht blind hier aus dem Forum rauskopieren.
 
Zurück
Oben