ungewollter Request nach einem Form Submit
medi
- html
Servus miteinander,
sry für den Betreff, aber kA wie ich des sonst ausdrücken sollte. Weiß auch nicht ob ich den richtigen Themenbereich getroffen hab, da ja auch PHP mit im Spiel ist.
OK, also Ausgangspunkt ist folgender:
Habe eine AJAX Shoutbox geschrieben und versuche nun diese NOSCRIPT fähig zu machen. Das ganze ist in ein PHP Projekt eingefasst.
Für das NOSCRIPT nutze ich ein IFrame, um die Shouts anzuzeigen und zu refreshen (mittels http-equiv="refresh"). Das funktioniert auch, nur sobald ich einen Shout absende, wird beim nächsten Meta Refresh, die Submit-Form zusätzlich mit in den IFrame eingefügt, da ein Request zuviel gesendet wird. Und ich habe keine Ahnung woher dieser kommt.
Hier mal ein kurzer Projekteinblick, vllt. seht ihr den Fehler:
* Shoutbox wird auf der Startseite erstellt/geladen:
require_once('shoutbox.php');
* shoutbox.php (hier werden die Aktionen geswitched):
if($_POST['action'] == 'add')
require_once('shoutbox/add.php');
elseif($_GET['action'] == 'get' || $_GET['action'] == 'noscript')
require_once('shoutbox/get.php');
elseif($_POST['action'] == 'noscript') {
require_once('shoutbox/add.php');
require_once('shoutbox/get.php');
} else
require_once('shoutbox/form.php');
* add.php (Shout in die DB schreiben, kein HTML Code)
* get.php (Shouts aus der DB holen, ich poste mal nur den HTML Code):
<noscript>
<head>
<meta http-equiv="refresh" content="10"; url="shoutbox.php?action=noscript" />
</head>
</noscript>
<!-- mysql_query und echo -->
* form.php (Aufbau der Shoutbox):
<div id="shoutbox">
<div id="shoutbox_shouts">
<noscript>
<iframe src='shoutbox.php?action=noscript' frameborder='0' name='shouts_iframe' title='shouts_iframe'></iframe>
</noscript>
</div>
<div id="shoutbox_submit">
<noscript>
<form id="shout_form" name="shout_form" method="post" action="shoutbox.php" target="shouts_iframe">
<input id="action" name="action" type="hidden" value="noscript" />
<input id="shout_text" name="shout_text" type="text" value="" size="50" />
<input id="shout_submit" name="shout_submit" type="submit" value="Shout" />
</form>
</noscript>
</div>
</div>
vereinfachter Aufbau (vor einem Submit):
<div id="shoutbox">
<div id="shoutbox_shouts">
<iframe></iframe>
</div>
<div id="shoutbox_submit">
<form></form>
</div>
</div>
vereinfachter Aufbau (nach einem Submit + Meta Refresh):
<div id="shoutbox">
<div id="shoutbox_shouts">
<iframe>
<div id="shoutbox">
<div id="shoutbox_shouts">
<iframe></iframe>
</div>
<div id="shoutbox_submit">
<form></form>
</div>
</div>
</iframe>
</div>
<div id="shoutbox_submit">
<form></form>
</div>
</div>
Ich weiß das dies von der Form ausgehen muss, nur ich weiß nicht warum es so ist.
Hier mal die #requests für einen Submit mit folgendem Meta Refresh:
[Submit]
#request# POST http://localhost/shoutbox.php
POST /shoutbox.php?action=noscript&shout_text=sdfds&shout_submit=Shout
[10 sec später - Refresh]
#request# GET http://localhost/shoutbox.php
GET /shoutbox.php
#request# GET http://localhost/shoutbox.php?action=noscript
GET /shoutbox.php?action=noscript
[10 sec später - Refresh]
#request# GET http://localhost/shoutbox.php?action=noscript
GET /shoutbox.php?action=noscript
[10 sec später - Refresh]
#request# GET http://localhost/shoutbox.php?action=noscript
GET /shoutbox.php?action=noscript
...
Der zweite #request hat da eigentlich nichts verloren, aber er verursacht das Ganze. Nur ich weiß nicht woher der kommt.
Vllt sieht es ja einer von euch.
Vielen Dank
greetz
medi
Hi,
<noscript>
<head>
<meta http-equiv="refresh" content="10"; url="shoutbox.php?action=noscript" />
</head>
</noscript>
tja. Solange Du Deine Codes nicht validierst, brauchst Du Dich über Fehler und Probleme nicht zu wundern ...
Cheatah
--
X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes
tja. Solange Du Deine Codes nicht validierst, brauchst Du Dich über Fehler und Probleme nicht zu wundern ...
Ja, habs ja gefunden. Hatte auch mit Total Validator einen Check gemacht, da wurde mir das nicht angezeigt.
Kennt denn jemand einen guten Offline Validator?
Mahlzeit medi,
Hatte auch mit Total Validator einen Check gemacht, da wurde mir das nicht angezeigt.
Das bedeutet dann wohl ziemlich genau eins: der genannte Validator ist Total ... für die Tonne.
MfG,
EKKi
Hi medi,
Kennt denn jemand einen guten Offline Validator?
https://addons.mozilla.org/en-US/firefox/addon/249
Viele Gruesse,
der Bademeister
Danke, der ist wirklich nicht schlecht :)
OK, is erledigt - hab den Fehler gefunden. Hatte beim Meta Refresh zwei " zuviel oO
Mahlzeit medi,
OK, is erledigt - hab den Fehler gefunden. Hatte beim Meta Refresh zwei " zuviel oO
Nicht http://de.selfhtml.org/html/referenz/elemente.htm#head@title=nur http://de.selfhtml.org/html/referenz/elemente.htm#noscript@title=das ...
MfG,
EKKi
Hast recht, ist ausgebessert ;)