Announcement

Collapse
No announcement yet.

$_POST, $_GET, $_SERVER etc.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • $_POST, $_GET, $_SERVER etc.

    Ich weuß das klingt bestimmt blöd, aber bei mir scheint was im kopf zu hängen.

    Oben genannte Variablen sind doch assoziative Arrays? Und auf die kann man doch auch mit nem Index zugreifen, dachte ich immer. Verstehe nicht warum das nicht funktioniert.

    <PRE>
    for( $i=0; $i<count($feld); $i++ ) {
    print "<TR>";
    for( $j=0; $j<count($feld[$i]); $j++ ) {

    print "<TD>".$feld[$i][$j]."</TD>";

    }
    print "</TR>";
    }
    </PRE>

    Wäre für eine Erklärung echt dankbar.......

    Manni

  • #2
    hallo ...

    ein erklaerung habe ich jedz nicht auf lager ... aber mir scheint es so als wolltest du dir einfach nur die arrays ausgeben lassen ... also alle felder nacheinander durchlaufen und anzeigen ...

    sollte dies so sein probier mal die function

    print_r($feld);

    sie gibt dir das array schoen sortiert mit allen feld-namen und inhalten aus. wenn du das ganze dann ncoh in &lt;pre&gt;-tags packst hast du auch eine wunderschoene ansicht ... sprich

    echo '&lt;pre&gt;';print_r($feld);echo '&lt;/pre&gt;';

    und zugelich noch viel weniger sourcecode ...war zwar nicht die antwort auf deine frage aber hoffe trotzdem geholfen haben zu koennen ...

    gruss
    der tim

    Comment


    • #3
      Hallo Timo,

      das ist ja erstmal ne richtig putzige Funktion, mit der man schnell mal die ganzen $_POSt Variablen ausgeben kann. Danke für den Tip!

      Allerdings bräucht ich doch Zugriff auf die Array anhand der Indizes. Vielleicht weiß ja noch irgen jemand wie das geht, bzw. ob das per Definition nicht zulässig ist.

      Manfre

      Comment


      • #4
        Hi,<br><br>
        warum sich $_POST nicht mit nem Index ansprechen lässt weiß ich leider nicht. Jedoch macht das IMHO auch wenig Sinn, da du ja in der Regel weißt was zurück kommt.<br><br>
        Als Workarround kannst du ja mit ner foreach ein neues Array bauen, welches dann mit Index ansprechbar ist.<br><br>
        Viele Grüße,
        Sasch

        Comment


        • #5
          Die Arrays $_POST... sehen einfach folgendermassen aus:
          $_POST['vorname'] = "Herbert";
          ...
          deshalb heissen sie auch assoziative Arrays, weil der Index ein String ist und kein INT.

          Du kannst aber folgendes machen:
          <pre>
          while(list($k, $v) = each($_POST)) {
          echo $k." = ".$v."<br";
          }
          </pre>
          das ordnet jeder _POST-Var ein Wertepaar $k,$v zu und spuckt sie aus.

          Andr

          Comment


          • #6
            noch ein tipp:
            <pre>
            foreach($array as $key => $value){
            echo "$key = $value";
            }
            </pre>
            somit werden alle elemente des arrays ausgegeben

            Comment


            • #7
              Warum sich diese Globals so nicht über den Index ansprechen lassen ist einfach:<br />
              Du benutzt die falschen Indices.<br />
              <br />
              Es sind keine numerisch indizierten Arrays. Nehmen wir einmal $_SERVER, da gibt es z.B. $_SERVER['REMOTE_ADDR'], aber kein $_SERVER[0]. Die Indices 0,1,2,... sind keine Offsets, sondern Bezeichner und wenn Du error_reporting auf E~ALL stehen hast, dann meldet Dir PHP auch, daß Du auf einen undefinierten Index zugreifst (obwohl PHP ihn Offset nennt).<br /&gt

              Comment

              Working...
              X