Buffy: Probleme mit Http_post_vars und IE

so sieht mein code aus

<form name="navi" method="post" action="/print.html" target="_blank">
      <input name="print[]" type=image value="print.page" src="../../images/net/drucken.png">
</form>

auf der seite /print.html lass ich mir die $HTTP_POST_VARS mit
echo "<pre>";
print_r($HTTP_POST_VARS);
echo "</pre>";

anzeigen. mach ich das mit dem firefox existiert die variable $HTTP_POST_VARS["print"][2], inhalt ist "print.page", beim IE existiert dieses array nicht.

gruß Buffy

  1. Hi,

    so sieht mein code aus

    <form name="navi" method="post" action="/print.html" target="_blank">
          <input name="print[]" type=image value="print.page" src="../../images/net/drucken.png">
    </form>

    füge ein alt-Tag hinzu.

    auf der seite /print.html lass ich mir die $HTTP_POST_VARS mit
    echo "<pre>";
    print_r($HTTP_POST_VARS);
    echo "</pre>";

    $HTTP_POST_VARS ist veraltet, verwende $_POST.

    anzeigen. mach ich das mit dem firefox existiert die variable $HTTP_POST_VARS["print"][2], inhalt ist "print.page", beim IE existiert dieses array nicht.

    PHP wird serverseitig ausgeführt, der Browser ist irrelevant (vorausgesetzt natürlich, er schickt die richtigen Daten ab).

    Schöne Grüße
    Julian

    1. Hallo Julian.

      […]
            <input name="print[]" type=image value="print.page" src="../../images/net/drucken.png">
      […]

      füge ein alt-Tag hinzu.

      Nur eine Kleinigkeit zur Terminologie:

      Ein alt-Tag sähe so aus: <alt>
      Du meinst sicher das alt-Attribut.

      Einen schönen Mittwoch noch.

      Gruß, Ashura

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      mathbr:del.icio.us/ mathbr:w00t/
      1. Hi,

        […]
              <input name="print[]" type=image value="print.page" src="../../images/net/drucken.png">
        […]

        füge ein alt-Tag hinzu.

        Nur eine Kleinigkeit zur Terminologie:

        Ein alt-Tag sähe so aus: <alt>
        Du meinst sicher das alt-Attribut.

        du hast Recht. Ich hab mich verschrieben. Bin zu unkonzentriert.

        Schöne Grüße
        Julian

    2. Auch mir ist das Problem das Buffy schildert bekannt, aber leider keine Lösung.

      PHP wird serverseitig ausgeführt, der Browser ist irrelevant (vorausgesetzt natürlich, er schickt die richtigen Daten ab).

      und genau darin liegt vermutlich das Problem.
      Ist schon richtig, das PHP serverseitig ausgeführt wird, es geht allerdings darum welche Daten der Server von Browser bekommt.
      Es Buffy vermutlich darum, dass Firefox das Array $HTTP_POST_VARS["print"] komplett (inklusive drittes Element!) zum Server überträgt, der IE allerdings nur die ersten beiden Elemente!!

      mfg
      Krompi

      1. echo $begrüßung;

        Ist schon richtig, das PHP serverseitig ausgeführt wird, es geht allerdings darum welche Daten der Server von Browser bekommt.
        Es Buffy vermutlich darum, dass Firefox das Array $HTTP_POST_VARS["print"] komplett (inklusive drittes Element!) zum Server überträgt, der IE allerdings nur die ersten beiden Elemente!!

        Browser interessieren sich nicht für die auf Serverseite eingesetzte Technik. Sie schicken also keineswegs PHP-Arrays oder so etwas ähnliches durch die Gegend, wenn Formulardaten übertragen werden. Stattdessen ist es PHPs Liebenswürdigkeit zu danken, wenn es die Formulardaten aus dem Request-Strom herausholt und in einer Form bereitstellt, die für PHP-Programmierer angenehmer handzuhaben ist.

        Was wirklich vom Browser übertragen wurde lässt sich durch Mitschneiden des HTTP-Verkehrs ansehen. Für beide Browser gibt es Erweiterungen, die dabei behilflich sind.

        echo "$verabschiedung $name";

  2. echo $begrüßung;

    <input name="print[]" type=image value="print.page" src="../../images/net/drucken.png">

    Warum nimmst du print[] als Wert für name und nicht einfach nur einen Wert ohne []?

    Der Unterschied ist: ohne [] (FF-Ausgabe)

    Array(
      [print_x] => 12
      [print_y] => 9
      [print] => print.page
    )

    mit []

    Array(
      [print] => Array(
        [0] => 12
        [1] => 12
        [2] => print.page
      )
    )

    auf der seite /print.html lass ich mir die $HTTP_POST_VARS mit
    print_r($HTTP_POST_VARS);
    anzeigen. mach ich das mit dem firefox existiert die variable $HTTP_POST_VARS["print"][2], inhalt ist "print.page", beim IE existiert dieses array nicht.

    Gut beobachtet. Der IE kennt kein value-Attribut für ein <input type=image>-Element.

    Außerdem ist

    echo "$verabschiedung $name";