Ankündigung

Einklappen
Keine Ankündigung bisher.

Variablen über URL übergeben funktioniert nur noch mit $_GET

Einklappen

Neue Werbung 2019

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

  • Variablen über URL übergeben funktioniert nur noch mit $_GET

    Servus,

    ich hatte hier gerade angefangen, ein Posting mit meinem Problem zu schreiben, aber mittendrin kam mir plötzlich eine Idee und ich konnte es glücklicherweise lösen.

    Dennoch weiß ich nicht, was der Grund dafür ist, daher frage ich jetzt trotzdem:
    Ich hatte ein kleines PHP-Skript gebaut, dem ich Variablen direkt über die URL übergeben konnte. Im Skript selbst habe ich die Variable mit isset() erstmal überprüft und dann in eine Session eingefügt.

    Nun war es so, daß das mit meinem bisherigen Webspace ging, aber bei dem Webspace eines Kunden ging das plötzlich nicht mehr. Habe heute xampp installiert, und auch dort war das nicht mehr möglich.

    Dann habe ich es (fälschlicherweise) mit $_POST zu lösen versucht, aber natürlich haute das nicht hin, und ich war in Begriff, hier um Hilfe zu fragen. Dann wurde mir mittendrin klar, daß ich ja $_GET nehmen muß, und siehe da - es funktionierte ausgezeichnet.

    Aber warum ging das bei meinem alten Webspace auch so ohne weiteres? Liegt das an der PHP-Version, oder ist das eine Apache-Einstellung? Gibt es noch weitere Dinge, bei denen ich in ähnliche "Fallen" stürzen könnte?

  • #2
    $_GET = Variablenübergabe über URL (z.B. index.php?var=wert & <form method="get")
    $_POST = Veriablenübergabe über POST Formular (<form method="post">)


    mfg
    Link
    "Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"

    Kommentar


    • #3
      Jo das ist mir schon klar... aber früher bzw. bei einem Webspace von mir funktioniert das auch völlig ohne GET:

      Also wenn ich z.B. index.php?lang=de aufrufe, dann konnte ich bisher direkt im Skript mit $lang arbeiten, ohne über $_GET['lang'] zugreifen zu müssen. Für mich war das bisher auch immer der "normale" Weg, und jetzt geht's aber auf anderen Servern auf einmal nicht mehr, und mich würde halt interessieren, woran das liegt.

      Kommentar


      • #4
        Das ist eine Einstellung in der php.ini die sich register_globals nennt.

        Es ist aber generell zu empfehlen $_GET['var'] statt einfach nur $var zu nehmen.


        mfg
        Link
        "Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"

        Kommentar


        • #5
          Ahh okay, gut zu wissen.
          Jo, in dem Fall von nun an mit $_GET...

          Leider registriert er jetzt aber auch meine Session-Variablen nicht mehr richtig. Ich hole mir jetzt zwar mit $_GET die Variable und übergebe sie an eine Funktion, und dort wird sie in $_SESSION['lang'] abgelegt, aber sobald ich auf einen anderen Link klicke, hat er den Wert aus der Session schon wieder vergessen. Dabei ging das vor meiner Änderung perfekt.

          Gibt's da auch irgendwelche Einstellungen? Hinter das ganze Session-Zeugs bin ich eh noch nie so richtig gestiegen... war immer ein arges rumprobieren, bis da endlich mal was ging

          Kommentar


          • #6
            Du musst sie natürlich auf den anderen Seiten auch wieder aus $_SESSION[] rausholen. register_globals wirkt sich auf $_GET, $_POST und $_SESSION aus.
            **********************************
            Nein, ich bin nicht die Signatur.
            Ich putze hier nur.
            **********************************

            Kommentar


            • #7
              http://www.php.net/manual/de/functio...n-register.php

              mfg
              Link
              "Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"

              Kommentar


              • #8
                Jo das mache ich auch. Hab es aber nun rausgefunden, es lag an was ganz anderem in meinem Fall

                Vielen Dank trotzdem!

                Kommentar


                • #9
                  session_register ist deprecated würde ich sagen, session_start() und der $_SESSION-Array reichen aus.

                  Kommentar

                  Lädt...
                  X