IE6.0 und NSC7: Kein POST mehr möglich?
Koontz
- browser
Hi,
die Frage klingt vielleicht etwas seltsam, aber schaut selbst:
Ich habe folgende Testscripts geschrieben, welche einfach nur den Wert eines Textfeldes per POST übermitteln und anzeigen sollen:
Datei "test1.php":
<html>
<head>
</head>
<body>
<form action="test2.php" method="POST">
<input type = "Text" name = "t1" value = "Test"><br>
<input type = "Submit" value = "Abschicken">
</form>
</body>
</html>
Datei "test2.php":
<html>
<head>
<title></title>
</head>
<body>
<?php echo $t1; ?>
</body>
</html>
Jedenfalls wird der Wert nicht richtig übergeben. Es wird jedenfalls nichts in "test2.php" angezeigt. Woran liegt das?
Gruss,
Koontz
Hi,
Das liegt nicht am Browser sondern am Server und da schätzungsweise an der PHP-Version bzw. an den Sicherheitsvorkehrungen.
register_globals=off (in php.ini ist mein Tip)
<?php echo $_POST["t1"]; ?>
so müsste es dann heissen
ciao
romy
Hi,
Das liegt nicht am Browser sondern am Server und da schätzungsweise an der PHP-Version bzw. an den Sicherheitsvorkehrungen.
register_globals=off (in php.ini ist mein Tip)<?php echo $_POST["t1"]; ?>
so müsste es dann heissenciao
romy
Fehlanzeige, so gehts auch nicht :-(
Schon mal mit
$HTTP_POST_VARS["t1"]
versucht?
Schon mal mit
$HTTP_POST_VARS["t1"]
versucht?
Nein, das geht auch nicht :-(
Moin!
Fehlanzeige, so gehts auch nicht :-(
Grundsätzlich bei allen Problemen mit Browserdatenübermittlung:
<?php phpinfo(INFO_VARIABLES); ?>
Dieser Befehl zeigt alle Werte an, die der Browser mit GET, POST (auch FILES) oder COOKIES sendet, und außerdem die Werte, die vom SERVER und dem ENVironment kommen.
Wenn die gesendeten Werte da nicht drinstehen, hat der Browser ein Problem. Wenn sie drinstehen - naja, dann steht dabei, wie man drauf zugreift, und du hast bislang einfach den falschen Weg versucht.
- Sven Rautenberg
Moin!
Fehlanzeige, so gehts auch nicht :-(
Grundsätzlich bei allen Problemen mit Browserdatenübermittlung:
<?php phpinfo(INFO_VARIABLES); ?>
Dieser Befehl zeigt alle Werte an, die der Browser mit GET, POST (auch FILES) oder COOKIES sendet, und außerdem die Werte, die vom SERVER und dem ENVironment kommen.
Wenn die gesendeten Werte da nicht drinstehen, hat der Browser ein Problem. Wenn sie drinstehen - naja, dann steht dabei, wie man drauf zugreift, und du hast bislang einfach den falschen Weg versucht.
- Sven Rautenberg
Hm, also die Variable steht nicht drinne. Wenn ich statt POST jedoch GET nehme, geht's. Allerdings werden dann sämtliche Grossbuchstaben in Kleinbuchstaben umgewandelt. Also das ist alles ganz schön kurios :-/
Naja, vielleicht weiss ja noch jemand etwas.
Gruss,
Koontz
Moin!
Hm, also die Variable steht nicht drinne.
_Was_ steht denn drin?
Wenn ich statt POST jedoch GET nehme, geht's. Allerdings werden dann sämtliche Grossbuchstaben in Kleinbuchstaben umgewandelt. Also das ist alles ganz schön kurios :-/
Welche Grossbuchstaben? Auch die vom INPUT-Inhalt? Dann ist entweder dein Browser kaputt, oder dein PHP, oder die Leitung zwischen beiden.
Ach ja: Dein Formular solltest du vielleicht (nur so zur Sicherheit) mal durch den Validator jagen. Könnte ja sein, dass du wirklich einen Flüchtigkeitsfehler gemacht hast.
- Sven Rautenberg
Also der Code ist in Ordnung. Wenn ich im Textfeld z.B. "Termin" eingebe, dann übergibt er bei GET den Wert "termin". Also alles kleingeschrieben. Ich habe gerade meinen Apache und das gesamte PHP komplett neu installiert. Immer noch derselbe Mist. Ich werde das Gefühl nicht los, dass der IE6.0 bzw. der NSC7.0 dahinter steckt. Beim IE5.0 und IE5.5 hat das alles noch wunderbar gefunzt.
Also der Code ist in Ordnung.
nun ja vielleicht kann man über einige Sachen streiten ;)
<html>
<head>
</head>
<body>
<form action="test2.php" method="POST">
<input type = "Text" name = "t1" value = "Test"><br>
<input type = "Submit" value = "Abschicken">
</form>
</body>
</html>
also: type="text" ich denke Du solltest entweder nur Grossbuchstaben oder nur Kleinbuchstanben verwenden
method="post" schreibs mal klein! Nur so ein Gefühl
ciao
romy
Halli,
also: type="text" ich denke Du solltest entweder nur Grossbuchstaben oder nur Kleinbuchstanben verwenden
method="post" schreibs mal klein! Nur so ein Gefühl
Also ohne doctype gehe ich mal von HTML 4.01 (transitional) aus.
Die beiden relevanten Attribut-Beschreibungen:
type = text|password|checkbox|radio|submit|reset|file|hidden|image|button [CI]
method = get|post [CI]
Das [CI] ist im Standard jeweils als Link auf diese Stelle gesetzt:
CI
The value is case-insensitive (i.e., user agents interpret "a" and "A" as the same).
Also falsch ist es nicht, auch wenn es vielleicht unschön ist.
cu,
Robert
Halli,
Also der Code ist in Ordnung. Wenn ich im Textfeld z.B. "Termin" eingebe, dann übergibt er bei GET den Wert "termin".
Dein Code soll in Ordnung sein?
Kein Doctype
kein title im head
keine charset-Angabe (meta content-type...) - die könnte hier besonders relevant sein
kein accept-charset (auch der könnte hier reinspielen ==> Groß-/Klein-Umwandlung, insbes. wenn keine charset-Angabe fürs Dokument gemacht wurde...
kein block-Element in der form
Das ist das, was mir sofort auffällt - das schließt noch nicht aus, daß noch weitere Fehler vorhanden sind.
cu,
Robert
Ok, wenn ich im Netscape 7 die Variable mit
$_POST["t1"]
aufrufe, dann klappt es. Wenn ich denselben Code jedoch im "Internet Explorer 6" ausführe, funzt es nicht. Das ist doch verrückt. Es müssen doch auch schon andere gemerkt haben, dass das nicht geht. Immerhin ist das doch ein gravierender Fehler.
Holladiewaldfee,
aufrufe, dann klappt es. Wenn ich denselben Code jedoch im "Internet Explorer 6" ausführe, funzt es nicht. Das ist doch verrückt. Es müssen doch auch schon andere gemerkt haben, dass das nicht geht. Immerhin ist das doch ein gravierender Fehler.
Welche PHP-Version verwendest Du? Wenn ich mich richtig erinnere gab's mal einen Bug in PHP 4.2.x der bewirkt hat, dass im Zusammenspiel mit einigen Browsern einige der POST-Elemente floeten gegangen sind, insb. das ersten oder das letzte (ich weiss die Details nicht mehr genau).
Such einfach mal ein bissi auf http://bugs.php.net rum, da wirst Du evtl. fuendig.
Ciao,
Harry