Ich arbeite gerade an einer Online-Datenbank, bei der Daten per POST gesendet werden. Wenn ich nach dem Senden der Daten den Reload-Button drücke, kommt eine Meldung „Möchten Sie dieses Formular wirklich nochmals absenden?“. Eine logische Meldung, denn die gleiche Seite wird mit den gleichen POST-Daten aufgerufen und die Daten werden erneut in die Datenbank geschrieben.
Bei Serendipity wird das sehr elegant umschifft: Wenn ich einen Kommentar abgesendet habe, erscheint die gleiche Kommentarseite wieder, ein Reload erzeugt aber keine Meldung und es werden offensichtlich keine POST-Daten gesendet.
Leider konnte ich in der ellenlangen index.php von Serendipity nicht herausfinden, was der POST-Aufruf von /index.php?url=archives/xxx-titel.html#feedback nun anders macht.
Kann mir jemand auf die Sprünge helfen? Google wollte mir nicht helfen…
Offtopic: Refresh nach POST
-
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Offtopic: Refresh nach POST
Hi!
Der #feedback Aufruf ist ein GET Request! Der entscheid durch einen HTTP-Redirect, es wird also nicht nochmal ein POST ausgelöst.
Grüße,
Garvin
Der #feedback Aufruf ist ein GET Request! Der entscheid durch einen HTTP-Redirect, es wird also nicht nochmal ein POST ausgelöst.
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Re: Offtopic: Refresh nach POST
Im Quellcode steht doch:
Das ist doch ein method="post", oder nicht…?
Ist aber auch wurscht, der entscheidende Hinweis war der Redirect und der klappt mit einem POST genauso gut:
Ich habe mein Problem auf jeden Fall gelöst.
Der POST-Submit zeigt auf die index.php, dort werden die Daten in die Datenbank geschrieben und danach wird die index.php mit header ("Location: http://www.domain.de/index.php") wieder selbst aufgerufen, dann natürlich ohne POST-Daten.
Dafür habe ich heute stundenlang probiert. Ich hätte dich gleich fragen sollen, Garvin.
Vielen Dank!
Code: Select all
<form id="serendipity_comment_CommentForm" action="/index.php?url=archives/xxxx-title.html#feedback" method="post">
Ist aber auch wurscht, der entscheidende Hinweis war der Redirect und der klappt mit einem POST genauso gut:
Code: Select all
header ("Location: http://www.domain.de/")
Der POST-Submit zeigt auf die index.php, dort werden die Daten in die Datenbank geschrieben und danach wird die index.php mit header ("Location: http://www.domain.de/index.php") wieder selbst aufgerufen, dann natürlich ohne POST-Daten.
Dafür habe ich heute stundenlang probiert. Ich hätte dich gleich fragen sollen, Garvin.
Vielen Dank!