Koontz: IE6.0 und NSC7: Kein POST mehr möglich?

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

  1. 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

    --
    DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
    ->Alles ist gut wenn es aus Schokolade ist
    1. 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

      Fehlanzeige, so gehts auch nicht :-(

      1. Schon mal mit

        $HTTP_POST_VARS["t1"]

        versucht?

        1. Schon mal mit

          $HTTP_POST_VARS["t1"]

          versucht?

          Nein, das geht auch nicht :-(

      2. 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

        --
        "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
        1. 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

          1. 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

            --
            "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
            1. 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.

              1. 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

                --
                DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
                ->Alles ist gut wenn es aus Schokolade ist
                1. 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

              2. 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

  2. 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.

    1. 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

      --
        (There are only 10 types of people in this world: Those who understand binary and those who don't)