Undefined index bei Switch Anweisung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Undefined index bei Switch Anweisung

    Hallo, Leute,

    Ich habe mich schon durchs Internet geforstet, komme aber nicht darauf wo mein Fehler liegen könnte

    ich bekomme folgende Fehlermeldung:

    Notice: Undefined index: s in D:\xampp\htdocs\index.php on line 12

    bei folgendem Code:

    PHP-Code:
    <?php 
    if (!isset($_GET['s']) or $_GET['s'] == "") {
    $s=$_GET['s'];
    switch(
    $s) {
    case 
    '1'$s="01.html";break;
    default: 
    $s="home.html";
    }
    }

    ?>
    Sobald ich von dort eine Unterseite mit XAMPP aufrufe, verschwindet die Fehlermeldung. Eben weil Variable "$s" dann gesetzt ist.
    Ich verstehe aber nicht wieso ich überhaupt die Notice-Meldung bekomme, da ich doch "default: home.html" angebe. Den obersten Teil vom Code (isset) hatte ich in einer Erklärung im Netz gefunden, aber es hat sich nichts verändert.

    Kann mir vielleicht bitte jemand von euch helfen?
    Ich muss dazu sagen, ich bin Anfänger in Sachen PHP.

    Edit: Ich habe mich inzwischen auch mal durch das Forum hier geklickt und ähnliche Probleme gefunden. Leider war zumindest in den Threads, die ich gelesen habe, nicht wirklich genau das Problem dabei, dass ich habe.
    Zuletzt geändert von pepino212; 08.03.2013, 19:39.

  • #2
    PHP-Code:
    if (!isset(Wenn s nicht existiertoder s == leer ist) {
    $s=$_GET[dann soll $s mit nichts Existierendem oder mit Leere gefüllt werden.]; 
    Weiß ja nicht, was Du vorhast, doch könnte es eventuell in etwa so aussehen:

    PHP-Code:
    <?php 
    if (isset($_GET['s']) and !empty($_GET['s'])) {

        
    $s $_GET['s'];
        
    $s preg_replace("/[^0-9]/"""$s); // falls s nur Ziffern enthält
        
        
    switch($s) {
            case 
    '1'$s "01.html";
            break;
            case 
    '2'$s "02.html";
            break;
        }    

    else {
    $s "home.html";
    }
    ?>
    Zuletzt geändert von Melewo; 08.03.2013, 21:08.

    Kommentar


    • #3
      Oh, stimmt das war wohl der Fehler.
      Ich wollte mit der if-Zeile eigentlich anweisen:

      Wenn $s nicht gesetzt ist oder leer dann mache folgendes...

      Auf jeden Fall funktioniert es dank dir jetzt so wie ich es wollte.

      Ich danke dir vielmals

      Kommentar

      Lädt...
      X