Ankündigung

Einklappen
Keine Ankündigung bisher.

$_GET[] & Co.

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema $_GET[] & Co..

    $_GET[] & Co.

    Hi,

    kann mir jemand sagen, wo ich die eine Zusammenfassung von Sachen wie $_GET[], $_Request[] etc. unter php.net finde? Habe da nix gefunden.

    Danke!

    MfG

  • Gast-Avatar
    Ein Gast antwortete
    Zitat von oaki
    ok.. ich glaub ich hab's!
    Fast...

    wenn global_register = on
    ist folgendes möglich:
    Code:
    www.versuch.de/index.php?name=mueller
    und die variable wird ohne weiteres mit
    Code:
    $name
    aufgrufen.
    Die Variable $name existiert dann im globalen Namensraum.

    wenn global_register = off
    dann ist wird die variable zwar gesetzt, aber wird nicht abegrufen, wenn ich die varible mit $_Get['name'] aufrufe .
    right?
    Fast richtig. In dem Fall ist die Variable $name im globalen Namensraum nicht gesetzt. Der Wert der Uservariablen 'name' ist (bei einem GET Request) in
    $_GET['name']
    und
    $_REQUEST['name']
    verfügbar.

    Wenn man also weiß, welche Formularvariablen man erwartet, ist es so kinderleicht, zu prüfen, ob die gesetzt sind und, wenn der Inhalt paßt, diesen zu verwenden. Auch die Abfrage indizierter Checkboxen und Radiobuttons wird wesentlich einfacher.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    hehe, shit daraus sollte eigentlich kein link enstehen. die seite ist nicht von mir

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    ok.. ich glaub ich hab's!

    wenn global_register = on
    ist folgendes möglich:
    und die variable wird ohne weiteres mit
    Code:
    $name
    aufgrufen.

    wenn global_register = off
    dann ist wird die variable zwar gesetzt, aber wird nicht abegrufen, wenn ich die varible mit $_Get['name'] aufrufe .
    right?[/code][/quote]

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von oaki
    und unter den globalen variablen versteht man z.B:
    Code:
    name=mueller
    Der globale Namensraum beinhaltet ua. alle Variablen, die das Script verwendet u/o anlegt. Und der ist offen wie ein Scheunentor, wenn register_globals = On ist.

    Sorry, geht etwas länger bei mir
    Jou, wird 'ne schwere Geburt für den Groschen... <g>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    und unter den globalen variablen versteht man z.B:
    Code:
    name=mueller
    Sorry, geht etwas länger bei mir

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von oaki
    achso! dann kann der benutzer nicht einfach die variablen mittels URL ändern, sondern ausschliesslich die funktion aufrufen ? ... oder?
    Bei register_globas = Off kann der User mit GET, POST oder COOKIE keine globalen Variablen setzen, weil alle Uservariablen nur in den entsprechenden Arrays aufschlagen.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    achso! dann kann der benutzer nicht einfach die variablen mittels URL ändern, sondern ausschliesslich die funktion aufrufen ? ... oder?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von oaki
    also wenn ich das richtig verstanden habe, dann kann der user z.B die User-ID in der URL ändern, aber wenn ich die register_globals auf off habe, und die variabeln per $_REQUEST[''] empfange geht das nicht mehr.. right??
    Das hast Du etwas falsch interpretiert. Was der User in die Browserzeile reintippert, kannst Du nicht beeinflussen, mußt es aber prüfen, was Dir der User schickt.

    Das wird erheblich einfacher, wenn Du sicher sein kannst, daß Du nur das prüfen mußt, was in $_GET $_POST $_REQUEST $_FILES und $_COOKIE rumliegt.

    Folgendes Szenario:
    Code:
    if ($var1 == 'irgendwas')
     $var2 = 1;
    
    if ($var2 == 1) 
    # was geheimes
    Wenn der User jetzt
    Code:
    http://host/pfad/script.php?var2=1
    abschickt, hat er Dich ausgetrickst.
    register_globals = Off, schon klappt es nicht mehr.
    Code:
    if ($_GET['var1'] == 'irgendwas')
     $var2 = 1;
    
    if ($var2 == 1) 
    # was geheimes

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    also wenn ich das richtig verstanden habe, dann kann der user z.B die User-ID in der URL ändern, aber wenn ich die register_globals auf off habe, und die variabeln per $_REQUEST[''] empfange geht das nicht mehr.. right??

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von oaki
    ok, dann die nächste dumme frage
    Wenn ich die variablen der URL mitgebe, kann ich die diese doch einfach per $variable aufrufen??
    statt $_POST['variable']
    Nur wenn register_globals = On ist. Sollte das der Fall sein, mußt Du immer daran denken, daß jeder User auf diesem Wege jede Variable in Deinem Script auf einen Anfangswert setzen kann.

    register_globals = Off bietet Dir die einzige Möglichkeit, zwischen "guten Variablen" (nämlich Deine) und "bösen Variablen" (Usereingaben) zu unterscheiden.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    ok, dann die nächste dumme frage

    Wenn ich die variablen der URL mitgebe, kann ich die diese doch einfach per $variable aufrufen??

    statt $_POST['variable']

    Einen Kommentar schreiben:


  • supertramp
    antwortet
    meine Standartantwort zu diesem Thema:


    $_GET oder $_POST
    Je nachdem, wie die Variable übergeben wird, muss man die Var. Mit
    Code:
    $_GET['var']
    oder
    Code:
    $_ POST['var']
    ansprechen.

    Wenn man die Variablen über die Adresse übergibt, dann ist es
    Code:
    $_GET['var']
    und wenn man sie über ein Formular mit
    Code:
    <form action="beispiel.php" method="post">
    übergibt, dann muss man sie natürlich auch mit
    Code:
    $_ POST['var']
    ansprechen.

    Bei
    Code:
    <form action="beispiel.php" method="get">
    logischerweise mit:
    Code:
    $_GET['var']
    Allerdings kann man dann die Variablen nach absenden des Formulars dann in der Adresse sehen! Das ist der Unterschied!
    -> Daher besser mit method="post“


    wenn man nicht weiß wie ein Formular die Daten übergeben hat, nimmt man einfach $_REQUEST['var']

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    www.php.net/$_GET so einfach, dann ein zwei klicks und du bist über den link http://de.php.net/search.php?show=wh...attern=%24_get genau hier http://www.php.net/reserved.variables gelandet. gratuliere!

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von André Schmidt
    Genau die Antwort brauche ich bei einer erfolglosen Suche!
    Na klar, Du [ zensiert ]. Wenn ich das im Handbuch finde, dann solltest Du das auch noch schaffen. Lies Dir bitte auch den Rest noch durch. Nicht das Du denkst, "wir" suchen für Dich dann auch noch die passenden Funktionen zusammen.

    Unter request, get, $_GET findet er nix passendes.
    Vielleicht suchste mal unter Konfiguration und unter vordefinierte Variablen.

    Einen Kommentar schreiben:

Lädt...
X