Kleines Problem mit <body onLoad="document.form2.submit()">

Moin Moin,

ich habe ein kleines Problem. Ich möchte beim laden der webseite automatisch ein Formular absenden.

Das ist ja generell kein großes Problem, aber jetzt hört das Teil nicht mehr auf zu senden. bzw. es sieht aus als ob die Seite immer wieder neu geladen wird.

Woran kann das denn liegen

Hier einmal das Formular:
PHP:
          <form action="<?php echo $editFormAction; ?>" method="post" name="form2" id="form2">
            <?php $tmp = $row_betriebe['klickcounter'] ?>
            <input type="hidden" name="id" value="<?php echo $row_betriebe['id']; ?>" />
            <input type="hidden" name="plz" value="<?php echo htmlentities($row_betriebe['plz'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="name" value="<?php echo htmlentities($row_betriebe['name'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="strasse_nr" value="<?php echo htmlentities($row_betriebe['strasse_nr'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="ort" value="<?php echo htmlentities($row_betriebe['ort'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="oeffnungszeiten" value="<?php echo htmlentities($row_betriebe['oeffnungszeiten'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="leistungen" value="<?php echo htmlentities($row_betriebe['leistungen'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="beschreibung" value="<?php echo htmlentities($row_betriebe['beschreibung'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="Ausstattung" value="<?php echo htmlentities($row_betriebe['Ausstattung'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="blz" value="<?php echo htmlentities($row_betriebe['blz'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="kto" value="<?php echo htmlentities($row_betriebe['kto'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="bank" value="<?php echo htmlentities($row_betriebe['bank'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="ansprechpartner" value="<?php echo htmlentities($row_betriebe['ansprechpartner'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="mail" value="<?php echo htmlentities($row_betriebe['mail'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="tel" value="<?php echo htmlentities($row_betriebe['tel'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="username" value="<?php echo htmlentities($row_betriebe['username'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="password" value="<?php echo htmlentities($row_betriebe['password'], ENT_COMPAT, ''); ?>" />
            <input type="hidden" name="klickcounter" value="<?php echo $tmp + 1; ?>" />
            <input type="hidden" name="MM_update" value="form2" />
            <input type="hidden" name="id" value="<?php echo $row_betriebe['id']; ?>" />
          </form>

Und auch einmal der Body eintrag:

PHP:
<body onLoad="document.form2.submit()">

biin für jede hilfe dankbar !

Alex
 
Moin Moin,

im form Acrion bereich habe ich folgendes stehen:
PHP:
<?php echo $editFormAction; ?>

Dann habe ich noch folgendes stehen:
PHP:
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
 
Das war nicht die Frage.
Ist es leer? Nein, das sieht man nun.

Zeigt es auf sich selbst?

Die Frage solltest du einmal klären ;)
Wenn es auf sich selfbst :p zeigt, dann ist klar was passiert: Absenden -> Selbe Seite -> Absenden -> Selbe Seite -> ....
 
Das wäre der selbe Effekt. Nichts eingetragen bedeutet es wird an die selbe Seite gesandt.

Wenn in "action" nichts steht geht es an die selbe Seite (die sich selbst Absendet -> Endlosschleife). Wenn in "action" die Seite selbst steht dann auch.

Schau dir dein Skript einmal gut an und denke nach. Eventuell offenbarst du uns hier auch nicht alle relevanten Zeilen.
 
Hi,

bei meiner Suche bin ich auf diesen Eintrag gekommen. Ich wollte fragen, wie man das mit dem body onload lösen könnte, wenn es auf dieselbe Datei zeigt
Es dreht sich bei mir, wie du schon gesagt hast, im Kreis!
Wäre nett, wenn ihr mir da weiterhelfen könnt.

Liebe Grüße

Christina
 
Wie wäre es, wenn du überprüfst, ob etwas mit $_POST gesendet wurde?
Eventuell ein bestimmter Wert, wenn ja, dann verhinderst du das onLoad, ansonsten nicht.

D.h.: erste mal die Seite aufgerufen, kein $_POST -> absenden
zweite mal auf der Seite, $_POST vorhanden -> absenden verhindern.

Das ganze kann man auch gut mit Sessions umsetzen. Wäre auch ratsamer.
 
Zurück