Probleme mit Http_post_vars und IE
Buffy
- php
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
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
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
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
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
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";
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";