m²: nicht alle variablen über $_REQUEST?

hallo,
tut mit leid, dass ich noch mal nerve, (ich versuch auch doppelposts zu vermeiden ;) )
über $_REQUEST kann man ja eigentlich auf alle cookie get und post variablen zugreifen.
das klappt bei mir auch ganz gut, bis auf eine, die will sich darüber einfach nicht erreichen lassen.

  
foreach ($_REQUEST as $var_name => $var_value) {  
 echo "<li>".$var_name.": ".$var_value."</li>";  
}  

ich habe folgende variablen definiert:
nick
pw
rolle
rolle_name
login_status

alle als string, und über echo variable; ausgebbar.

aber mit der oben genannten funktion wird login_status einfach nicht mit aufgelistet :(.
ich weiß nicht mehr was ich machen soll, ich hab schon viele möglichkeiten probiert... über $_REQUEST['login_status'] gehts einfach nicht.

was hab ich übersehen?

  1. Moin!

    ich habe folgende variablen definiert:

    Wie?

    - Sven Rautenberg

    --
    My sssignature, my preciousssss!
    1. Moin!

      ich habe folgende variablen definiert:

      Wie?

      • Sven Rautenberg
        
      $nick=$_COOKIE['nick']; //Name des Users  
      $rolle=$_COOKIE['rolle']; //Rolle des Users  
      $rolle_name=$_COOKIE['rolle_name']; //Name der Rolle des Users  
      $login_status="Sie sind als ".$nick." angemeldet. Sie sind ein ".$rolle_name."."; //Status der Identifizierung  
      
      

      ausgabe (der vorhin angegebenen schleife) erfolgt so:

      nick: m²

      pw: quadratmeter

      PHPSESSID: 7ab5138caf2ef89c6198c3d7024151e1

      IP: 127.0.0.1

      login_status: Sie sind als m² angemeldet. Sie sind ein Administrator.

      rolle: 2

      rolle_name: Administrator

      aber diese variablen muss ich mit $_REQUEST['variable'] abfragen.
      und das geht mitt rolle_name und login_status nicht...
      könnte das vielleicht mit dem _ (unterstrich) zusammenhängen?

      grüße

      1. Moin!

        ich habe folgende variablen definiert:

        Wie?

        $nick=$_COOKIE['nick']; //Name des Users
        $rolle=$_COOKIE['rolle']; //Rolle des Users
        $rolle_name=$_COOKIE['rolle_name']; //Name der Rolle des Users
        $login_status="Sie sind als ".$nick." angemeldet. Sie sind ein ".$rolle_name."."; //Status der Identifizierung

          
        $\_REQUEST wird durch die Übermittlung eines GET- oder POST-Formulars, einer URL mit Parametern oder eines gesetzten Cookies übermittelt. Wenn ich dich also Frage, wie du die $\_REQUEST-"Variablen" definiert hast, erwarte ich HTML-Quelltext. :)  
          
         - Sven Rautenberg
        
        -- 
        My sssignature, my preciousssss!
        
        1. $_REQUEST wird durch die Übermittlung eines GET- oder POST-Formulars, einer URL mit Parametern oder eines gesetzten Cookies übermittelt. Wenn ich dich also Frage, wie du die $_REQUEST-"Variablen" definiert hast, erwarte ich HTML-Quelltext. :)

          hmm, also ich kann damit alle variablen abrufen, gerade auch die, die ich im php-script definiert hab. hab ich auf php.net gelesen...
          es geht ja auch, bis auf für login_status.

          1. Hi,

            hmm, also ich kann damit alle variablen abrufen, gerade auch die, die ich im php-script definiert hab. hab ich auf php.net gelesen...
            es geht ja auch, bis auf für login_status.

            das ist ein Irrtum, ein ziemlich tückischer. Der Grund liegt darin, dass beide gleich heißen, sowohl deine lokale Variable als auch dein GET/POST/COOKIE-Inhalt. Benenn mal deine lokale Variable um, dann wirst du sehen, dass es nicht mehr funktioniert, sondern immer noch unter dem alten Namen geführt wird.

            MfG
            Rouven

            --
            -------------------
            ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
          2. Hallo

            hab ich auf php.net gelesen...

            Das ist schn dass du das irgwendwo gelesen hast, ich lese jedenfalls auf php.net "$_REQUEST: An associative array consisting of the contents of"
            (http://www.php.net/manual/en/reserved.variables.php#reserved.variables.request)

            Für deinen Zweck hilfreich wäre vllt. "$GLOBALS: An associative array containing references to all variables which are currently defined in the global scope of the script. The variable names are the keys of the array."
            (http://www.php.net/manual/en/reserved.variables.php#reserved.variables.globals)

            Gruß, Peter

          3. Moin!

            $_REQUEST wird durch die Übermittlung eines GET- oder POST-Formulars, einer URL mit Parametern oder eines gesetzten Cookies übermittelt. Wenn ich dich also Frage, wie du die $_REQUEST-"Variablen" definiert hast, erwarte ich HTML-Quelltext. :)

            hmm, also ich kann damit alle variablen abrufen, gerade auch die, die ich im php-script definiert hab. hab ich auf php.net gelesen...

            $_REQUEST enthält nur die Werte, die der Browser per Formular oder URL oder Cookie an dein Skript sendet.

            Was du im PHP-Skript selbst definierst, interessiert $_REQUEST nicht. Deshalb: Wenn in deinem HTML-Quelltext nichts für "login_status" definiert ist, kann dein PHP-Skript daran nichts ändern.

            Andererseits halte ich es für sehr gefährlich, derartige Dinge überhaupt an den Browser zu senden, denn der Benutzer kann diese Daten dann ja beliebig manipulieren.

            Deshalb nochmal die Nachfrage nach dem Quelltext und mehr Informationen. Es hilft mir relativ wenig, wenn du behauptest, alles wäre gut, und dein Verständnis irgendwelcher Texte auf php.net und anderswo würde das ja auch belegen, und du dann trotzdem ein Problem hast. Ich behaupte von mir, einige Erfahrung im Umgang mit PHP zu haben, und meine Teilnahme hier im Forum hat mir sicherlich schon die meisten Anfängerfehler vorgeführt. Du kannst also meinen Erfahrungsschatz anzapfen - aber nur, wenn du meine Fragen beantwortest. Vertraue mir: Die sind zielgerichtet zur Lösung deines Problems.

            - Sven Rautenberg

            --
            My sssignature, my preciousssss!
  2. n'abend,

    über $_REQUEST kann man ja eigentlich auf alle cookie get und post variablen zugreifen.
    das klappt bei mir auch ganz gut, bis auf eine, die will sich darüber einfach nicht erreichen lassen.

    das problem tritt auf, wenn variablen per get/post und cookie den selben namen haben. GPC << dürfte die reihenfolge sein, also Get, Post, Cookie. Wobei dir eine variable in cookie die variable mit selbem namen in get oder post überschreiben dürfte.

    gewöhne dir doch bitte gleich einen sauberen programmierstil an. $_REQUEST sollte nur dann eingesetzt werden, wenn es egal ist woher die variable kommt - beispielsweise wenn ein script aufgerufen und die parameter wahlweise per post oder get übermittelt werden können. andernfalls ist es ratsam bei den fällen wo ausschliesslich per post (also irgendwelche formulare) gesendet wird auch nur $_POST zu verwenden. $_COOKIE, $_SESSION und $_SERVER sollten jeweils direkt abgefragt werden, bei $_SESSION und $_SERVER geht das zwar nicht anders, macht aber auch bei $_COOKIE sinn!

    ergo:

    wenn du also weisst wie deine parameter (variablen) übergeben werden, dann benutze auch das entsprechende superglobal dafür. und warum? einfach: es ist sauberer und sicherer - und: du verhedderst dich nicht in irgendwelchen variablennamen, die sich dann gegenseitig im $_REQUEST überschreiben würden...

    weiterhin schönen abend...

    --
    wer braucht schon großbuchstaben?
    sh:( fo:# ch:# rl:° br:> n4:& ie:{ mo:} va:) de:] zu:} fl:{ ss:? ls:[ js:|