PHP Formulare und Netscape Resize...
rene
- php
Ich habe Formulare, die ich mit PHP weiterverarbeite.
Wenn ich aber Netscape resize, meldet der mir MISSIONG DATA - repost...
kann ich irgendwie entweder Netscape aufhalten, die Daten neu anzufordern beim Größe ändern des Fensters, oder wie kann ich das Reload automatisch ausführen lassen, ohne daß der Benutzer dies manuell tun muß?
Hallo Rene
Das Problem mit dem Netscape hatte ich auch schon.
Meine Lösung war dabei, den NS im Fullscreen aufzurufen und
resize zu disablen.
(das aufrufende Fenster bleibt dabei allerdings offen,
da ein self.close zu einer lästigen Rückfrage führt)
Vielleicht hilft's Dir weiter
Grüße
oliver
<script language="JavaScript">
self.resizeTo(screen.availWidth,screen.availHeight);
self.moveTo(0,0);
browser = navigator.appName
if (browser == 'Netscape')
{
open ("start.html","Fenstername","status=yes,toolbar=yes,locationbar=yes,resizable=no")
}
else
{
open ("start.html","_self")
}
</script>
Hallo rene,
Ich habe Formulare, die ich mit PHP weiterverarbeite.
Wenn ich aber Netscape resize, meldet der mir MISSIONG DATA - repost...
kann ich irgendwie entweder Netscape aufhalten, die Daten neu anzufordern
[...]
Eigentlich nicht.
Aber.... wenn du
also bei
Bei einem Mailscript, was den Mailtext nochmal anzeigt, ansonsten die
Mail aber nur per mail() verschickt geht es nicht.
Noch dabei ?
...
Dann kann ich ja anfangen:
SERVER CLIENT
1. Formular
2. +-------------------> Browser
V
Formular
wird ausgefüllt
und abgeschickt
3. Verarbeitung<------POST-----+
Daten speichern
(keine Anzeige)
4. +---->Redirect----->Browser holt
neue Seite
+------------------------+
V
5. Folgeseite
Daten Anzeigen
6. +------------------->Browser zeigt neue
Seite
Der Trick liegt hier zwischen 3 und 4. Die Seite, die der User nach
abschicken des Formulars sieht (5) ist eine andere als die, welche die
Daten bekommen hat (3).
Jetzt kann der User bei (6) so oft Reload drücken (oder Resizen) wie er
will, er kriegt immer nur Seite (5) - und zwar ohne Re-Post Probleme.
Diese Methode hilft auch gegen die "Doppelposting bei Reload" Macke mancher
Gästebuchscripte bzw. man kann den gängigen Workaround mit der 'Danke'
Seite einsparen.
Falls du eine Danke(...) Seite anzeigen willst muss die Ausgabeseite (5)
wissen, welchen Datensatz sie Anzeigen soll, dazu noch mal kurz eine
Erläuterung:
Von (2) nach (3) werden die Benutzereingaben per 'POST' an das Script
weitergegeben. Es trägt diese Daten in eine Datei ein und schickt dem
Browser einen Redirect (sonst nix). Der Redirect kann einen Parameter
(in der URL) bekommen (Session ID, Posting/Datensatznummer), der dann
vom Ausgabescript (5) dazu benutzt wird die richtigen Daten anzuzeigen.
Redirect geht mit
header("Location: http://domain.de/anzeigeseite.php3?$idnummer");
(Unbedingt Manual (->http-Functions) dazu lesen, sonst gehts schief.)
(1) & (3) können das gleiche Script sein. Je nach Parametern macht das solange
das Formular, bis alle Werte i.o. sind, dann (und nur dann) speichert es
und macht den Redirect.
Gruss,
Carsten
P.S.: Ja, ich kann auf noch einfachere Fragen noch kompliziertere Antworten
geben ;-)