Alternative zu ständiger if abfrage

Godstyle

Erfahrenes Mitglied
Hallo leute,

ich stehe grade vor einem Problem wofür mir keine einfachere Lösung einfällt.
Ich bleibe die ganze zeit in meiner index.php Datei und lade im unteren bereich je nach link auswahl per include rein.

Der link sehen wie folgt aus:

<a href="index.php?lid=1">Link</a>

Die lid ist eine fortlaufende Nummer.

Sobald er die datei dann neu lädt wird die link.php eingelesen:

PHP:
<?php
$lid = $_GET["lid"];

if ($lid == "1") {
	echo "home.php";
} 
if ($lid == "2") {
	echo "news.php";
} 
if ($lid == "3") {
	echo "uebersicht.php";
} 
if ($lid == "4") {
	echo "suche.php";
} 
if ($lid == "5") {
	echo "hilfe.php";
} 
if ($lid == "6") {
	echo "kontakt.php";
} 
?>

diese nutzt er um denn via include die richtige Datei im Unteren Bereich einzulesen.

Meine Frage ist nun, da ich alle Links Nummerieren möchte was an die 100 gehen wird, ob ich eine Möglichkeit habe die ganzen If abfragen in einer kleineren Version zu schreiben.

Ich hoffe Ihr versteht meine frage, ansonsten bin ich noch eine ganze weile online und stehe für Rückfragen gerne zur Verfügung.

mfg
 
hallo godstyle,
ich würde das mit einem array und einer einzigen if Abfrage lösen.

PHP:
<?php
$lid = array ();
  $lid[1] = "home.php";
  $lid[2] = "news.php";
  $lid[3] = "uebersicht.php";
  $lid[4] = "suche.php";
  $lid[5] = "hilfe.php";
  $lid[6] = "kontakt.php";


// Abfrage dann in etwa so
  if ( isset($_GET['lid']) && isset($lid[$_GET['lid']])){
    include $lid[$_GET['lid']];
  }
?>

Ist es das was du meinst? Das zu includierende $lid könnte man dann noch mit einem is_numeric und/oder (int) "verbessern".
Gruß
strolch_007
 
Zuletzt bearbeitet:
Hallo strolch_007,

ich möchte mich recht Herzlich bei dir bedanken, auf die Idee mit dem Array bin ich nun im Moment gar nicht gekommen aber es ist ganz klar, es funktioniert so.

@timestamp

auch dir möchte ich meinen Dank aussprechen, ich werde mir auch deine Idee mal ansehen, ich denke jedoch das ich bei Strolch bleiben werde da ich sie für meine Zwecke als Sinnvoll erachte.

Glg
 
Zurück