Firefox (und Chrome) formen einen ungültigen Request

  • Hi Leute,
    ich schicke ein Formular asynchron ab und erwarte die antwort in einem iFrame. Allerdings wird das Formular nicht richtig in den Request mit eingebunden.
    Schreibe ich im Zielscript

    PHP
    print_r($_POST);


    sehe ich nur

    Code
    Array ( )

    Ich hab dann mal mit Tamper-Data auf den Request im Firefox geschaut. Dort ist ein POST-Parameter mit folgendem Schlüssel und ohne Inhalt aufgelistet:

    Code
    Content-Type: application/x-www-form-urlencodedContent-Length: 0


    Das sieht doch sehr danach aus, also ob der Firefox hier den Request falsch aufbaut, oder?

    Für Chrome habe ich kein vergleichbares PlugIn, der zeigt aber die gleichen Symptome.

    Was kann ich denn hier ändern?

    HTML
    <form action="newsletterSubmit.php" method="POST" id="newsletterForm"
        target="resultFrame">
        <table border="0" class="form-table">
            <!-- Eingabelemente, es leigt also nicht daran, dass ich keine definiert hätte -->
        </table>
        <br />
        <iframe name="resultFrame" style="..." onload="newsletterSubmitFinished();"></iframe>
    </form>


    newsletterSubmit.php

    PHP
    <?php
    session_start();
    if (!isset($_SESSION['adm_user'])) exit();
    if (!$_SESSION['adm_user']['allow']['news']) exit();
    if (!isset($_POST['subject'])) exit("blub");
    [...]
    ?>

    Sowohl im Firefox als auch im Chrome sehe ich dann da ein "blub", obwohl in der Table eindeutig das drin ist:

    PHP
    <input type="text" name="subject" value="<?php echo $form['subject']; ?>" />

    Ich seh keine lösung... kann da jmd helfen?

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Achte auf den DocType:

  • Ich benutz genau den gleichen wie du, nur, dass bei mir das HTML klein geschrieben ist, mit deinem tuts auch nicht. Laut W3C Stimmt auf der Seite auch alles, halt nur so sachen wie Shorrttag disabled und dass er sich an den GET-Parametern in den links stört.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Ja stimmt, bei mir klappt das auch. Nur mein Formular nicht :O Hier mal mein ganzer Code:
    newsletter.php (layout, styles&co werde drumrumgewrappt, die datei wird included)


    und newsletterSubmit.php

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Naja ajax war mir zuviel aufwand und auch garnicht vereinbaart. Ich habe nur die befürchtung, dass der Browser den request abbricht, wenn das script zu lange braucht alle newsletter zu versenden. Und in dem fall wollte ich ne ausgabe haben und keine leere Seite, deswegen das iframe.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • naja in einem solchen fall geht man daher und hat nen array, was in der session gespeichert wird, es werden x newsletter versandt und dann gibt es nen reload mit javascript, weils clientside aktualisiert werden sollte. versendete newsletter werden aus dem array in der session rausgeworfen.

    aber. mal ganz direkt: wenn du solche krücken brauchst isses sinnvoller sich nen newsletter-service zu suchen bei dem man sowas machen kann, da is dann für kleines geld direkt nen monitoring mit dabei. mit deinem ungültigen request kann ich dir hier net weiterhelfen.. sry

  • Hm... ok, ich werds vllt per cronjob lösen, sodass jeden Tag zweimal gechekt wird, ob einer rausgehen soll.
    Ich ehtnscheide das leider nicht :/

    Aber trotzdem danke für eure Beiträge ;)

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!