Probleme mit IIS 5.0

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

  • Probleme mit IIS 5.0

    Hi Leute,

    ich habe für meinen Vater ein Intranet auf PHP/MySQL Basis gebaut. Das funkt auf Apache (meinem Webserver) makellos gut, nur da der Server in der Firma meines Vaters ein IIS 5.0 (Windows 2000) ist, gibt's da (wie erwartet) einige Probs.

    Ich bekomme z.B. auf der Startseite zwei Fehlermeldungen. Ich poste mal je eine Fehlermeldung und dann den Code der jeweiligen Zeile:

    1. Fehler:

    Notice: Undefined variable: session_alert in C:\Garant_Intranet\intranet.php on line 33

    PHP-Code:
    if ($session_alert != "2" OR !isset($session_alert)) { 
    $session_alert wird aus der Datenbank ausgelesen und ist in der Tabelle "firmen_info". Mein Vater hat gemeint, dass es vielleicht daran liegen könnte, dass in der Datenbank diese Spalte als CHAR(1) und "Not Null" formatiert ist und daher das Feld leer ist und nicht NULL ist.

    2. Fehler:

    Notice: Undefined variable: page in C:\Garant_Intranet\intranet.php on line 267

    PHP-Code:
    if (!isset($page)) {
        include (
    "welcome.php");
    }

    // MenueItemList wird geladen, wenn ausgewählt
    if ($page == "menueitemlist") {
        include (
    "menueitemlist.php");

    Line 267 ist bei der ersten IF-Abfrage von $page. $page enthält den Namen der Seite, der in die index.php includet werden soll, nachdem man auf einen Menüpunkt geklickt hat.

    Wenn man z.B. auf "Bilanzen" klickt, dann wird die Seite "index.php?page=bilanzen" aufgerufen, also immer NUR die index.php aufgerufen. Anscheined kommt der IIS nicht mit den Seitenvariablen so zurecht.
    Muss ich die Variable irgendwie deklarieren, dass es z.B. ein String ist oder so?

    Ich bin euch für jede Antwort dankbar, da meine ganze Arbeit am IIS nicht funktionieren würde!!!

    Vielen Dank!
    Grüße Lukas

  • #2
    Liegt nicht an W2K sondern eher an der Ini, solltest du mal vergleichen.

    Notice: Undefined variable: session_alert in C:\Garant_Intranet\intranet.php on line 33
    -> Ist ja nichts schlimmes, musst halt nur sehen, dass du die Var vorher initialisierst.

    Notice: Undefined variable: page in C:\Garant_Intranet\intranet.php on line 267
    -> Das ist nochmal das gleiche. Definiere "$page" und es wird laufen...

    Kommentar


    • #3
      @TobiaZ

      danke für deine Antwort. Die Ini's habe ich schon verglichen. Die sind komplett identisch.

      Wie soll ich $page initialisieren? Weiß nicht genau, was du damit meinst! Die Variable $page ist ja nicht im Skript vorhanden sondern wird erst mit der URL erstellt (index.php?page=bilanzen).

      Session_alert ist ein andereres Prob, und zwar: Hier mal der komplette Code der IF-Abfrage:

      PHP-Code:
      if ($session_alert != "2" OR !isset($session_alert)) {
          
          
      // Firmen-Informationen werden eingelesen
          
      $abfrage_info2="SELECT session_alert FROM $tablename_info";
          
      $ergebnis_info2 mysql_query($abfrage_info2) or die(mysql_error());

          
      // While-Schleife für Session-Alert
          
      while($row mysql_fetch_object($ergebnis_info2)) {
              
      $session_alert $row->session_alert;
          }

      Beim ersten Aufruf der Seite wird geprüft, ob $session_alert "2" oder leer ist. Beim ersten Aufruf ist sie natürlich noch leer. Nun wird in der Datenbank der Wert "0" oder "1" ausgelesen. Dieser Wert wird nun in $session_alert gespeichert.

      Nun geht es weiter zu einer anderen IF-Abfrage, die ein Pop-Up öffnet, wenn $session_alert "1" ist. Wenn $session_alert "0" ist wird es nicht geöffnet.

      Nun ist das Skript fertig geladen. Der Benutzer klickt nun einen Link an, der so aufgebaut ist: index.php?page=bilanzen&session_alert=2. Es wird beim nächsten Aufruf der Seite also die Seitenvariable $session_alert auf "2" gesetzt und somit wird die IF-Abfrage für die Datenbank nicht mehr ausgeführt, da die Bedingung ja ist, dass $session_alert entweder NICHT "2" ist oder leer ist. Das Pop-Up wird nun NICHT mehr angezeigt!

      Also nun ist mein Prob, dass ich nicht weiß, wie ich die Variablen initialisieren soll! Wenn du mir das sagen könntest, würdest du mir wahrscheinlich unendlich helfen!

      Vielen Dank für deine Hilfe!

      MfG Lukas

      Kommentar


      • #4
        dreh die beiden bedingungen mal um
        PHP-Code:
        if (!isset($session_alert) or $session_alert != 2) { 
        hab die anführungszeichen mal noch entfernt, aber dadran liegts nicht

        ne variable initialisieren würd ich in deinem fall so machen
        PHP-Code:
        $page=''
        an den anfang des skriptes
        Zuletzt geändert von mrhappiness; 11.05.2003, 22:01.
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Wie soll ich $page initialisieren? Weiß nicht genau, was du damit meinst! Die Variable $page ist ja nicht im Skript vorhanden sondern wird erst mit der URL erstellt (index.php?page=bilanzen)
          Nimm bitte $_GET[page]...

          weiter konnte ich jetzt nicht lesen.

          Kommentar


          • #6
            Original geschrieben von TobiaZ
            Nimm bitte $_GET[page]...

            weiter konnte ich jetzt nicht lesen.

            Hi TobiaZ,

            ich weiß nicht genau, was du mit $_GET[page] meinst. Könntest du mir vielleicht noch sagen, wohin der Code soll?
            Wenn du jetzt keine Zeit hast, ist das kein Problem. Melde dich einfach, wenn du mehr Zeit hast!!!

            Vielen Dank nochmal!

            MfG Lukas

            Kommentar


            • #7
              [OT]An dir sollte manscher sich ein beispiel nehmen!!![OT]

              nimm statt $page mal $_GET[page]

              Kommentar


              • #8
                @mrhappiness

                aber wenn ich die Variable mit

                PHP-Code:
                $page ' '
                initialisiere, dann überschreibe ich doch den Wert aus der Seitenvariable. Wenn ich z.B. den Link habe: index.php?page=bilanzen und dann in der index.php

                PHP-Code:
                $page ' '
                mache und dann

                PHP-Code:
                echo $page
                sage, dann bekomme ich nicht "bilanzen" ausgegeben sondern NICHTS, oder?


                @TobiaZ

                ok, danke TobiaZ. Werde das mal checken. Kann das erst morgen machen, da ich zu Hause keinen IIS habe.
                Wenn du später Zeit hast, wäre es super von dir, wenn du mir den Sinn von deiner Änderung erklären könntest. Eilt aber echt nicht!

                Schönen Abend, euch allen!
                MfG Lukas
                Zuletzt geändert von skalu; 11.05.2003, 22:10.

                Kommentar


                • #9
                  wenn schon, dann doch bitte $_GET['page']

                  @skalu

                  sorry falsch gedenkt *g*

                  erklärung: such mal nach register_globals
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    @mrhappiness

                    no problem , passiert eben!

                    MfG Lukas

                    Kommentar


                    • #11
                      @all

                      Hi Leute,

                      ihr habt mir gestern echt gute Ansätze zur Lösung meines Problems gegeben! Würde nur nochmal gerne Fragen, was dieser Code bewirkt:

                      PHP-Code:
                      $_GET['page'
                      Ich fahre nämlich morgen zu meinem Vater in die Firma und versuche das Prob zu lösen!

                      Tnx 4 Help!
                      So long, Lukas

                      Kommentar


                      • #12
                        *RTFMF*!!!

                        Kommentar


                        • #13
                          Original geschrieben von TobiaZ
                          *RTFMF*!!!
                          Sorry, aber was heißt das?

                          Lukas

                          Kommentar


                          • #14
                            Original geschrieben von skalu
                            Sorry, aber was heißt das?

                            Lukas
                            read the fucking manual !
                            TBT

                            Die zwei wichtigsten Regeln für eine berufliche Karriere:
                            1. Verrate niemals alles was du weißt!


                            PHP 2 AllPatrizier II Browsergame

                            Kommentar


                            • #15
                              Read The Fucking Manual First!!!
                              -> Wird hier leider(!) häufiger benutzt.

                              Kommentar

                              Lädt...
                              X