include-Dateien... DRINGEND

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

  • include-Dateien... DRINGEND

    ....
    Zuletzt geändert von kerstink; 06.06.2007, 18:23.

  • #2
    <<Jetzt will ich bei meinem eine Seite in der Technik programmieren und es läuft nicht. Es werden keine Unterseiten angezeigt.>>

    das ist sehr traurig.
    wenn keine seiten angezeigt werden, dann muss da wohl eine fehlermeldung vorkommen?
    ausserdem ist if(file_exists("inc/$d.inc.php")==1) nicht falsch, aber auch nicht besonders richtig

    if(file_exists("inc/$d.inc.php")) ist eigentlich ausreichend.

    mach mal
    extract($_REQUEST); auf der erster zeile von deinem script, und wenn es functioniert, dann schau dir informationen zu register_globals bei php.net
    Slava
    bituniverse.com

    Kommentar


    • #3
      Vorher stellt sich wohl die Frage, wo $d überhaupt herkommt (nebenbei bemerkt finde ich es auch immer sehr unschln, Variablen innerhalb der String-Delimiter zu schreiben. Welcher Editor highlightet dass denn richtig?).

      Edit: Ach da kommt $d her, hab ich wohl eben überlesen. Naja, dann wurde ja alles gesagt.
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        Generell solltest du $_GET benutzen anstelle von $d ....
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          ...
          Zuletzt geändert von kerstink; 06.06.2007, 18:23.

          Kommentar


          • #6
            Original geschrieben von Shurakai
            Generell solltest du $_GET benutzen anstelle von $d ....
            Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
            var_dump(), print_r(), debug_backtrace und echo.
            Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
            Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
            Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

            Kommentar


            • #7
              Wenn ich Deinen Request-Befehl in der Zeile vor meiner if-Bedingung setze kommt folgende Fehlermeldung:

              Parse error: syntax error, unexpected T_IF in /var/www/html/web1020/html/schroeder/index.php on line 14
              da hast du wohl ne klammer oder ein semmikolon vergessen...

              ich denk deine lösung funktioniert nicht weil register globals aus ist was auch richtig ist ... - stattdessen solltest du $_GET [ 'd' ] benutzen

              desweiteren sei bemerkt das solche includes auf veränderbare gets nicht sehr sicher sind ...

              PHP-Code:
              switch ( $_GET 'd' ] ) {
              case 
              'blubb':
              include ( 
              'blubb.php' );
              break;
              default:
              include ( 
              'home.php' );

              ist wesentlich besser
              Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

              Kommentar


              • #8
                ...
                Zuletzt geändert von kerstink; 06.06.2007, 18:24.

                Kommentar


                • #9
                  Wo soll ich das benutzen? Alle $d damit ersetzen
                  kommt dem ziel schon nahe ja ...
                  Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                  Kommentar


                  • #10
                    OffTopic:
                    Original geschrieben von unset
                    ... Variablen innerhalb der String-Delimiter zu schreiben. Welcher Editor highlightet dass denn richtig?).
                    Quanta+ Zum Beispiel
                    ich glaube

                    Kommentar


                    • #11
                      ...
                      Zuletzt geändert von kerstink; 06.06.2007, 18:24.

                      Kommentar


                      • #12
                        Da sieht man doch schon am highlighting, dass da was nicht stimmen kann -.-

                        PHP-Code:
                        switch ( $_GET 'd' ] ) 
                        {
                            case 
                        'inc/'.$_GET 'd' ].'.inc.php':
                            include ( 
                        'inc/'.$_GET 'd' ].'.inc.php' );
                            break;
                            default:
                            include ( 
                        'inc/home.inc.php' );

                        so müsstes eigentlich gehen...

                        Kommentar


                        • #13
                          ...
                          Zuletzt geändert von kerstink; 06.06.2007, 18:24.

                          Kommentar


                          • #14
                            Original geschrieben von kerstink

                            Die Variable d also gefüllt ist, läuft die Switch-Anweisung ins default und ich seh immer noch nicht das richtige ....
                            korrekt....

                            da "d=berechnen" nicht in einem "case" vorkommt, geht er natürlich auf's default...
                            Der Programmierer ist der Vormund des Anwenders.

                            Kommentar


                            • #15
                              Die Variable d also gefüllt ist, läuft die Switch-Anweisung ins default und ich seh immer noch nicht das richtige ....
                              wie auch ~~

                              switch wechselt zwischen den werten die in der oben angegebenen vairable stehen ...
                              PHP-Code:
                              case 'inc/$_GET [ 'd' ].inc.php'
                              ist also der falsche weg und arbeitet auch gegen das von mir genannte prinzip

                              du sollst lieber die einzelnen werte die für d möglich sind in die cases schreiben ...
                              PHP-Code:
                               switch ( $_GET 'd' ] ) 
                                  {
                                  case 
                              'forum':
                                  include ( 
                              'inc/forum.inc.php' );
                                  break;
                                  case 
                              'wasanders':
                                  include ( 
                              'inc/wasanderes.inc.php' );
                                  break;
                                  default:
                                  include ( 
                              'inc/home.inc.php' );
                                  } 
                              Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                              Kommentar

                              Lädt...
                              X