wahsaga: "Goto" funktioniert nicht richtig

Beitrag lesen

hi,

$jump = "#fehler";

...

if ($fehler) {
$show = true;
}

...
<a name="fehler"></a>
<form action="<?php echo $_SERVER['PHP_SELF']; if ($show) { echo $jump; } ?>" method="post">

Leider funktioniert es noch nicht ganz.

Natürlich nicht.

Du hast ein Formular an die Adresse /blubb.php geschickt. Beim prüfen fallen dir Fehler auf. Also generierst du _jetzt_ in das _neue_ Dokument, welches du als Antwort auf den Formularequest auslieferst, eine Sprungmarke hinein, und gibst diese Sprungmarke auch in der Formular-action an, /blubb.php#Sprungmarke. Und?

Dieses _neue_ Formular interessiert den Browser jetzt doch noch gar nicht.
Er hat das vorherige Formular abgeschickt, und an dessen Adresse war nichts davon zu merken, dass irgendeine Sprungmarke in der Antwortseite angesteuert werden soll.

Und zwar geht es immer nur dann, wenn zwei mal auf Abschicken geklickt wurde.

Beim zweiten Mal wird jetzt ja auch das _neue_ Formular abgeschickt, und dessen Zieladresse enthält die Information, dass in der Antwortseite eine Sprungmarke angesteuert werden soll.

Ich weiß nicht warum... kann mir jemand weiterhelfen?

Mach dir bitte klar, wie die Vorgänge sind, und warum dein Vorhaben deshalb unlogisch ist.

Wenn du in der Antwortseite eines Formulars eine Sprungmarke ansteuern willst, dann musst du diese Information schon _vorher_, beim Ausliefern eben _dieses_ Formulars, mitgegeben haben.

gruß,
wahsaga

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }