Problem mit form-Tag

Hallo,

ich habe ein Problem mit dem folgenden Beispielcode.
Der Text „Artikel hinzugeügt“ soll wirklich nur dann erscheinen, wenn der Button „Hinzufügen“ geklickt wurde.

Wenn ich einen Artikel hinzufüge und danach im Browser „aktualisieren“ klicke, interpretiert er das so, als ob der „Hinzufügen“-Button gedrückt wurde.

Wie kann ich das abstellen ?

Danke,
Swen

Code:

<?php if ($add)
{ echo "Artikel hinzugefügt" } echo "Ihre Artikel..."; ?\>Untitled Document Artikel hinzufügen: Nummer:

Wenn ich einen Artikel hinzufüge und danach im Browser
„aktualisieren“ klicke, interpretiert er das so, als ob der
„Hinzufügen“-Button gedrückt wurde.

dann hast du aber auch die bestaetigung zum erneuten senden geklickt. und 2x senden ist 2x einfuegen.

Wie kann ich das abstellen ?

die einfache und instabile variante: wenn genau die selben daten innerhalb eines zeitfensters gesendet wurden die anfrage verwerfen.
die aufwaendigere, mit transaktionsnummern arbeiten. dazu musst du ins formular ein hidden-feld mit einem eindeutigen identifier einsetzen, und den dann in der db als gesendet und empfangen vermerken.

Hi,

die aufwaendigere, mit transaktionsnummern arbeiten. dazu
musst du ins formular ein hidden-feld mit einem eindeutigen
identifier einsetzen, und den dann in der db als gesendet und
empfangen vermerken.

ja, das habe ich auch schon gedacht. Aber ich habe gehofft, es gibt evtl. einen Befehl, mit dem ich die Variable „Add“ irgendwie löschen kann, die entsprechende klammer aufgerufen wird um so dann zu verhindern, dass beim Aktualisieren der „Add“-Befehl mitgesendet wird.

Aber naja, trotzdem vielen Dank für die schnelle Antwort,
Swen

Hi,

die aufwaendigere, mit transaktionsnummern arbeiten. dazu
musst du ins formular ein hidden-feld mit einem eindeutigen
identifier einsetzen, und den dann in der db als gesendet und
empfangen vermerken.

ja, das habe ich auch schon gedacht. Aber ich habe gehofft, es
gibt evtl. einen Befehl, mit dem ich die Variable „Add“
irgendwie löschen kann, die entsprechende klammer aufgerufen
wird um so dann zu verhindern, dass beim Aktualisieren der
„Add“-Befehl mitgesendet wird.

naja, variablen loeschen geht mit unset, aber ich wuesste nicht, wie dir das weiterhelfen koennte.

2 möglichkeiten
im prinzip ähnlich wie weiter unten angegeben

<?php if ($add)
{ echo "Artikel hinzugefügt" $thisurl = $SERVER\_ADDR.$PHP\_SELF; header("$thisurl"); exit; } ?\> bin mir aber nicht komplett sicher ob das funzt... alternativ halt in die Ausgabe ein equip refresh auf das Dokument legen... Wenn die Variablen noch drin sein sollen müssen die halt mit übergeben werden - ausser $add

Hi,

leider bringt mir der Browser den Fehler „Internal Server Error“, wenn ich auf meinem localhost per header oder http-equip die Seite aufrufe.
Habe dazu auch ein neues Thema im Board eröffnet…

Swen

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

vllt
weil Du eine absolute relative Addy eingegeben hast?

beide Befehle erfordern eine absolute Addy - sprich mit http:// vorne…