beim Starten der Index gleich array anhängen

martin-schulz

Mitglied
Hallo ich möchte gleich beim starten ein array an die Index hängen das sieht dan so aus index.php?section=1 odwer gibt es eine möglichkeit das ganze im dateikopf aufzurufen.
Momentan wird der inhalt erst geladen wenn man auf einen button klickt und das ganze per get übergibt.
 
Du kannst innerhalb der Datei bevor du Section auswertest so etwas tun:

PHP:
if(!isset($_GET['section']) || $_GET['section'] == '') $_GET['section'] = 1;

Dann wird es ungesetzt und leer eben auf 1 gestellt.

Alternativ kann man auch beim section einbinden den Fall abfangen das die nummer ungültig ist, und dann immer die Startseite zeigen. Oder etwas in die richtung.
 
alternativ würde das auch per Switch-Anweisung gehen:

PHP:
 switch($_GET['section'])
 {
   case '2': echo "sektion 2"; break;
   case '3': echo "sektion 3"; break;
   default: echo "weder sektion 2 noch sektion 3"; break;
 }

MfG
 
Wenn $_GET['section'] ein INT-Wert ist und zB eine Datei laden soll kann man das auch so lösen:

PHP:
$section = (!empty($_GET['section']) ) ? intval($_GET['section']) : 'default';

switch( $section ) {
  case 1: include_once('datei_fuer_1.inc.php'); break;
  case .......
  default: include_once('default.inc.php');
}

echo $dein_inhalt;

somit stellst du sicher, dass $section niemals ungesetzt / leer ist und kannst für den Fall,
das was schief geht immer ein "default" laden ;)

MfG
Andy
 
webndesign's Lösung hat den Vorteil, dass man da nicht so einfach ausbrechen kann und man somit seine Seite gegen Cross-Site-Scripting absichert. Gerade wer GET-Parameter an eine URL anhängt und dadurch die Inhalte wechselt, muss besonders darauf achten, was bei seinem Script ankommt. Da Strings schwer zu prüfen sind (prinzipiell kann in PHP alles ein String sein) bieten Zahlen (Integer) eine höhere Sicherheit, da man leicht mit is_int() prüfen kann, ob es eine Zahl ist und die Auswertung, ob sie gültig ist leichter von statten geht.
 
Zurück