Fehlermeldung MySql / PHP

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

  • Fehlermeldung MySql / PHP

    Hallo,

    ich habe mir ein Login-Script installiert, und es läuft auch. Allerdings, wenn ich Seiten damit schützen will, bekomme ich folgenden Fehler:

    [COLOR=blue]
    Warning: main(level1_check.php): failed to open stream: No such file or directory in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1

    Warning: main(): Failed opening 'level1_check.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1
    [/COLOR]

    Das Script ist im Pfad im Ordner user_login:

    public_html/user_login

    installiert

    Die zu schützenden Dateien sind im Ordner user:

    public_html/user_login/user/
    abgelegt;

    Der code der in die Seite in der ersten Zeile eingesetzt ist:

    PHP-Code:
    <?php include "level1_check.php"?>
    Was läuft hier nicht richtig, bzw, wie bekomme ich den Fehler weg und das Script zum funktionieren?

    Die Fehlermeldungen kommen über der zu schützenden Seite, also die Seite wird angezeigt.
    Danke schön,
    Tommy
    Zuletzt geändert von roteisen; 06.08.2006, 22:47.

  • #2
    du müsstes dann das include relativ zu der aktuellen datei angeben (also einen ordner nach oben '../'):
    PHP-Code:
    include '../level1_check.php'
    Die Fehlermeldungen kommen über der zu schützenden Seite, also die Seite wird angezeigt.
    darum nicht include (warning) sondern require (fatal error) verwenden!
    alternativ kannst du im überprüfungsscript noch eine konstante setzen und im geheimen script mit defined() überprüfen, ob der check überhaupt stattgefunden hat.

    Kommentar


    • #3
      Also Du meinst es müsste dann so aussehen:


      <?php include "user/level1_check.php"; ?>


      ?

      Das wäre ja super. Ich werde das mal probieren.

      EDIT:

      klappt nicht:


      Warning: main(user/level1_check.php): failed to open stream: No such file or directory in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1

      Warning: main(user/level1_check.php): failed to open stream: No such file or directory in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1

      Warning: main(user/level1_check.php): failed to open stream: No such file or directory in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1

      Warning: main(): Failed opening 'user/level1_check.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1
      // Change the level to 1,2,3 or 4 , 4 being admin only
      Zuletzt geändert von roteisen; 06.08.2006, 23:09.

      Kommentar


      • #4
        nein, meine ich nicht. ich meine:
        PHP-Code:
        require '../level1_check.php'
        alternativ, mit absoluter pfadangabe:
        PHP-Code:
        require $_SERVER['DOCUMENT_ROOT'].'/user_login/level1_check.php'
        [EDIT] absolute pfadangabe korrigiert hinzugefügt user_login und user rausgenommen
        Zuletzt geändert von 3DMax; 06.08.2006, 23:55.

        Kommentar


        • #5
          Das verstehe ich nicht. (hab sehr wenig Ahnung von PHP)

          Soll ich diesen code von Dir ausprobieren?

          Wie sähe dieser code denn dann angepasst aus?


          /home/mcposcom/public_html/user_login/user/engish_index.php

          In user_login liegt das Script.
          In user liegen die Dateien die zu schützen sind.

          Wäre der code so richtig?


          PHP-Code:
          <?require $_SERVER['DOCUMENT_ROOT'].'/user/level1_check.php'; ?>

          Oder wäre es sinnvoller alle zu schützenden Dateien in das gleiche Verzeichnis wie das Script zu legen? (wäre sehr unübersichtlich)



          EDIT:

          Habe den geänderen code eingebaut,

          <?require $_SERVER['DOCUMENT_ROOT'].'/user/level1_check.php'; ?>

          die Seite wird nicht mehr geladen, aber diese Fehler kommen:

          Warning: main(/home/mcposcom/public_html/user/level1_check.php): failed to open stream: No such file or directory in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1

          Warning: main(/home/mcposcom/public_html/user/level1_check.php): failed to open stream: No such file or directory in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1

          Fatal error: main(): Failed opening required '/home/mcposcom/public_html/user/level1_check.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1

          Zuletzt geändert von roteisen; 06.08.2006, 23:23.

          Kommentar


          • #6
            Original geschrieben von roteisen
            Wie sähe dieser code denn dann angepasst aus?
            Pass ihn mal so an, mit einer (so genannten) default-null-Anpassung von:

            require '../level1_check.php';


            Ps Der include Pfad scheint richtig, enthält jedenfalls .

            Kommentar


            • #7
              das erste beispiel war eine relative pfadangabe.
              '../' bedeutet, gehe einen ordner nach oben, in deinem fall, gehe zu 'user_login/'.
              das ist aber abhängig, wo dieses script aufgerufen wird. wenn es in einem anderen ordner aufgerufen wird, ist ../ nicht mehr 'user_login/, sondern 'anderer_ordner/'

              mein zweites beispiel war eine absolute pfadangabe, dabei ist es egal, von wo das script aufgerufen wird, es benutzt immer den absoluten pfad.

              war jetzt mal so in kürze erklärt probiers einfach aus, es funktioniert beides.
              wenn noch fragen offen, frag ruhig...

              Kommentar


              • #8
                Wie sähe dieser code denn dann angepasst aus?


                /home/mcposcom/public_html/user_login/user/engish_index.php

                In user_login liegt das Script.
                In user liegen die Dateien die zu schützen sind.

                Wäre der code so richtig?




                PHP:--------------------------------------------------------------------------------
                <?require $_SERVER['DOCUMENT_ROOT'].'/user/level1_check.php'; ?>

                --------------------------------------------------------------------------------



                Oder wäre es sinnvoller alle zu schützenden Dateien in das gleiche Verzeichnis wie das Script zu legen? (wäre sehr unübersichtlich)



                EDIT:

                Habe den geänderen code eingebaut,

                <?require $_SERVER['DOCUMENT_ROOT'].'/user/level1_check.php'; ?>

                die Seite wird nicht mehr geladen, aber diese Fehler kommen:

                Warning: main(/home/mcposcom/public_html/user/level1_check.php): failed to open stream: No such file or directory in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1

                Warning: main(/home/mcposcom/public_html/user/level1_check.php): failed to open stream: No such file or directory in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1

                Fatal error: main(): Failed opening required '/home/mcposcom/public_html/user/level1_check.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1

                Kommentar


                • #9
                  die Seite wird nicht mehr geladen, aber diese Fehler kommen:

                  Warning: main(/home/mcposcom/public_html/user/level1_check.php): failed to open stream: No such file or directory in /home/mcposcom/public_html/user_login/user/engish_index.php on line 1
                  ja, require lässt das script sterben, wenn es die datei nicht gibt - schon mal gut.

                  mir scheint, du hast einen schreibfehler: /home/mcposcom/public_html/user_login/user/engish_index.php - fehlt ein l, oder?

                  Kommentar


                  • #10
                    Ich würde denken, dass die absolute Pfadangabe tatsächlich nicht stimmt.

                    Ich würde denken, dass frager beide Varianten speditiv ausprobieren sollte.

                    Kommentar


                    • #11
                      Original geschrieben von nix_wie_weg
                      Ich würde denken, dass die absolute Pfadangabe tatsächlich nicht stimmt
                      ja, ist mir auch gerade aufgefallen, dass das quatsch von mir war, das ist ja das script, das den include ausführt (ob nun mit oder ohne l).


                      da scheint die absolute pfadangabe nicht zu passen. roteisen, was ergibt denn echo $_SERVER['DOCUMENT_ROOT']';?
                      und versuchs mal mit relativer angabe '../'

                      Kommentar


                      • #12
                        Der Schreibfehler ist vorhanden, aber die Datei heisst im Moment so

                        EDIT


                        Ich wundere mich auch über die fehlende Datei, es müsste ja die Datei:

                        level1_check.php

                        im Verzeichnis USER fehlen, Richtig? -Und dort ist sie ja auch nicht, siondern ein Verzeichnis darüber, in USER_LOGIN.


                        EDIT:

                        da scheint die absolute pfadangabe nicht zu passen. roteisen, was ergibt denn echo $_SERVER['DOCUMENT_ROOT']';?
                        und versuchs mal mit relativer angabe '../'
                        Wo muss ich denn den Befehl: echo $_SERVER['DOCUMENT_ROOT']';?

                        eingeben? Soll ich den in die Seite mal reinschreiben, ganz oben?
                        Zuletzt geändert von roteisen; 27.08.2006, 20:12.

                        Kommentar


                        • #13
                          Also, ich hab jetzt mal eine Test.php (ohne Bilder) in das gleiche Verzeichnis gelegt in der das Script liegt, und: es funzt.

                          EDIT

                          Aber ich will eben ein/mehrere extra Unterverzeichnse haben, damit die Dateien geordnet abgelegt und leichter wiedergefunden werden können.

                          Was ist dann zu ändern?
                          Zuletzt geändert von roteisen; 27.08.2006, 20:12.

                          Kommentar


                          • #14
                            Original geschrieben von roteisen im Verzeichnis USER fehlen, Richtig? -Und dort ist sie ja auch nicht, siondern ein Verzeichnis darüber, in USER_LOGIN.
                            sorry, habe "user_login" in der pfadangabe vergessen, oben editiert, so ist es richtg:
                            PHP-Code:
                            $_SERVER['DOCUMENT_ROOT'].'/user_login/level1_check.php'
                            [EDIT] und user natürlich raus, oh mann
                            Zuletzt geändert von 3DMax; 06.08.2006, 23:54.

                            Kommentar


                            • #15
                              Original geschrieben von roteisen
                              Wo muss ich denn den Befehl: echo $_SERVER['DOCUMENT_ROOT']';?

                              eingeben?
                              Vielleicht arbeitest Du zuerst ein Lehrbuch oder ein online Tutorial durch??

                              @3DMax, im absoluten Pfad hätte user_login anstatt user stehen müssen, sonst war es recht. (aber mir würde sowas auch passieren, nur nicht über ausgedehnte Zeit)

                              Kommentar

                              Lädt...
                              X