Isset funktioniert nicht?

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

  • Isset funktioniert nicht?

    Mich treibt das langsam zur Verzweiflung:

    PHP-Code:
          if(isset($_GET['section']) and isset($_GET['item'])) {

             
    $data['section'] = @$_GET['section'];
             
    $data['item'] = @$_GET['item'];

             
    $GLOBALS['content'] = $include['content'] . $data['section'] . "/" $data['item'] . $include['php'];
             
    $GLOBALS['page'] = $data['item'];

             switch(
    $data['section']) {

                case 
    "index"$data['header'] = $header['self'] . $header['default'] . $header['ending_jpg']; break;
                case 
    "site"$data['header'] = $header['self'] . $header['default'] . $header['ending_jpg']; break;
                case 
    "event"$data['header'] = $header['self'] . $header['default'] . $header['ending_jpg']; break;
                case 
    "special"$data['header'] = $header['self'] . $header['default'] . $header['ending_jpg']; break;
                case 
    "media"$data['header'] = $header['self'] . $header['default'] . $header['ending_jpg']; break;
                case 
    "kh"$data['header'] = $header['self'] . $header['default'] . $header['ending_jpg']; break;
                case 
    "com"$data['header'] = $header['self'] . $header['default'] . $header['ending_jpg']; break;
                case 
    "kh2"$data['header'] = $header['self'] . $header['default'] . $header['ending_jpg']; break;
                case 
    "bbs"$data['header'] = $header['self'] . $header['default'] . $header['ending_jpg']; break;
                case 
    "days"$data['header'] = $header['self'] . $header['default'] . $header['ending_jpg']; break;
                case 
    "coded"$data['header'] = $header['self'] . $header['default'] . $header['ending_jpg']; break;

             }

          } else {

             
    $GLOBALS['page'] = "";
             
    $GLOBALS['content'] = $include['content'] . $include['startseite'];

             
    $data['header'] = $header['self'] . $header['default'] . $header['ending_jpg'];

          }


          
    // #################### Funktion: show_content() ####################
          
    function show_content() {

            if(
    is_string($GLOBALS['content']) and is_string($GLOBALS['page'])) {

               if(
    file_exists($GLOBALS['content'])) {
                  include(
    $GLOBALS['content']);
                  echo(
    "\n");
               } else echo(
    htmlentities("Die gewünschte Seite") . " <strong>" $GLOBALS['page'] . "</strong> existiert nicht.\n");

            }

          } 
    Als Erstes wird geprüft, ob Werte für $_GET['section'] und $_GET['item'] vergeben wurden. Wenn nicht, dann ist $GLOBALS['content'] ein Fixwert, wenn doch, dann wird $GLOBALS['content'] zusammengesetzt.

    Mit der Funktion show_content() überprüfe ich nun, ob $Globals['content'] exisitiert, wenn ja, soll er sie includen, wenn nicht, soll er $GLOBALS['page'] ausgeben.

    Aber nur, wenn $_GET['section'] nicht stimmt, wird eine Fehlermeldung ausgegeben, aber warum? Wenn ich einen der Werte falsch eingebe, dann rutscht es doch in die if-Schleife rein, später wird es durch meine Funktion überprüft und $GLOBALS['content'] dürfte nicht existieren! Ich hab' wahrscheinlich irgendwo einen Denkfehler drin, finde ihn aber nicht. Hoffe, jemand kann mir helfen.

    Manche Variablen werden oberhalb nicht deklariert, da ich einen Teil des Scripts (nur Variablen und $_GET - Überprüfung) ausgelassen habe.

  • #2
    Werden mehrere Bedingungen innerhalb einer IF() nicht mit && verknüpft ?

    Also so
    PHP-Code:
    if(isset($_GET['section']) $$ isset($_GET['item'])) { 

    Kommentar


    • #3
      Original geschrieben von Bart
      Werden mehrere Bedingungen innerhalb einer IF() nicht mit && verknüpft ?

      Also so
      PHP-Code:
      if(isset($_GET['section']) $$ isset($_GET['item'])) { 
      Auf www.php-einfach.de steht das es egal ist ob AND oder &&.
      Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

      Kommentar


      • #4
        Wenn dann so
        PHP-Code:
        if(isset($_GET['section']) && isset($_GET['item'])) { 
        aber ist im Grunde egal. Ich persönlich finde "and" statt "&&" einfach übersichtlicher.

        Zurück zu meinem Problem: Jemand eine Idee?

        Kommentar


        • #5
          var_dump();
          Auf alles vor dem IF.

          Debuggen halt...

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar

          Lädt...
          X