Isset funktioniert nicht?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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'])) { 

    Comment


    • #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

      Comment


      • #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?

        Comment


        • #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

          Comment

          Working...