Roland Schuster: Erkennen ob $_POST leer ist

Hi!

Ich möchte die Inhalte von $_POST, $_GET und $_SESSION in einem String speichern, meine erste Idee war:

if (is_array ( $_POST )) {  
 $post = "\n   |  POST:";  
 foreach ( $_POST as $key->$value ) {  
  $post .= "\n   |    " . $key . ":" . $value;  
 }

Da bekomm ich jedoch einen Fehler wenn im jeweiligen Array keine Werte drinnen sind, is_array() erfüllt also nicht ganz den Zweck den ich brauch, welche Abfrage wäre denn richtig?

danke
Roland

  1. Hello,

    die Arrays $_POST und $_GET (...) sollten immer vorhanden sein, sonst ist PHP kaputt.
    $_SESSION ist nur vorhanden, wenn eine Session gestartet wurde.

    Wieviele Elemente die Arrays innerhalb einer Dimension haben, kannst Du mit count() abfragen.
    Wenn Du allerdings die Anzahlt der Elemente, die nicht wieder selber ein Array sind, wissen willst, musst Du das auch rekursiv ergründen...

    Liebe Grüße aus Syburg bei Dortmund

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hi Tom - ein frohes Neues!

      Nur so aus Neugier: wielange hast Du gefeiert?

      off:PP

      --
      "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
      1. Hello,

        Hi Tom - ein frohes Neues!

        Danke, gleichfalls.

        Nur so aus Neugier: wielange hast Du gefeiert?

        Bis ich eingeschlafen bin :-)

        Liebe Grüße aus Syburg bei Dortmund

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Hi!

          Nur so aus Neugier: wielange hast Du gefeiert?

          Bis ich eingeschlafen bin :-)

          I see;)

          off:PP

          --
          "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    2. Hi Tom!

      Mein Script sieht jetzt so aus, aber es funktioniert immer noch nicht :-/

      if(count($_GET)>0) {  
       $vars = "\n   |  GET:";  
       foreach ( $_GET as $key=>$value ) {  
        $vars .= "\n   |    " . $key . ":" . $value;  
       }  
      }
      

      Was passt denn noch nicht?

      lg
      Roland

      1. Hello,

        Mein Script sieht jetzt so aus, aber es funktioniert immer noch nicht :-/

        if( count($_GET) > 0 )
        {
            $vars = "\n   |  GET:";

        foreach ( $_GET as $key => $value )
            {
                $vars .= "\n   |    " . $key . ":" . $value;
            }
        }

        Was passt denn noch nicht?

        Weiß ich nicht.
        Wie und wo gibst Du denn den gabauten String $vars nun aus?

        Liebe Grüße aus Syburg bei Dortmund

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Sry, funktioniert ...

          Ich hatte nur nen _dummen_ Tippfehler drinnen,
          war gestern wohl doch zuviel Alk *g*

          1. Hello,

            war gestern wohl doch zuviel Alk *g*

            Na, da bin ich ja froh, dass mich die schäbige Qualität des Merlot von Plus vom Trinken abhalten hat.

            Seitdem ich auf die zunehmenden verdeckten chemischen Zusatzstoffe in den Zutaten der deutschen Hefeweizen-Biere allergisch bin, trinke ich doch immer mal wieder gerne einen trockenen Roten. Der Merlot von Aldi hat mir neulich erstaunlich gut gefallen. Leider kam ich nicht mehr dorthin. Als mir dann bei Plus einen ebensolchen stehen sah, habe ich zugechlagen.

            Ich habe mich wirklich geschämt dafür udn wir haben ihn dann weggeschüttet. Die Anderen haben das Bier ausgetrunken und ich habe zugesehen, wie sie langsam fröhlich wurden. Das war auch lustig.

            Würde mich ja mal interessieren, wer außer mir noch nüchtern ins Neue Jahr gegangen ist :-)

            Liebe Grüße aus Syburg bei Dortmund

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
            1. Hi!

              Würde mich ja mal interessieren, wer außer mir noch nüchtern ins Neue Jahr gegangen ist :-)

              Ich!
              Ein gutes neues Jahr!
              Ulysses

  2. Hi!

    Ich möchte die Inhalte von $_POST, $_GET und $_SESSION in einem String speichern,

    Warum? Es sind drei superglobal verfügbare Arrays.

    if (is_array ( $_POST )) {

    $post = "\n   |  POST:";
    foreach ( $_POST as $key->$value ) {
      $post .= "\n   |    " . $key . ":" . $value;
    }

      
    Obige Syntax ist falsch!  
      
    ~~~php
      
       foreach ( $_POST as $key=>$value ) // "->" != "=>"!  
    
    

    wolltest Du bestimmt notieren.

    Warum ein String, möchtest Du die Daten serialisieren?

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)