Mailinglisten-Archive |
Thomas Hausheer schrieb: > [...] Nach dem Abschicken des Formulares und der Überprüfung > sollte das File direkt runtergeladen werden. Dies mache ich mit > folgendem Code: > > [...] > header("Content-type: '.$fileFORMAT.'"); > header("Content-Disposition: attachment; filename=\"".$fileNAME."\""); > [...] > Das funktioniert soweit auch prima, nur die eigentliche Website wird > nicht mehr neu geladen - sie bleibt im Zustand des ausgefüllten > Formulares stehen. Sie muss sich aber auch reloaden, um weiteren > Inhalt anzuzeigen (für registrierte Benutzer) und auch um dem User die > Dankesmeldung anzuzeigen. Das ist nicht so einfach, denn du willst mit dem Absenden des Formu- lars zwei Dinge bewirken: Datei herunterladen und Dankesmeldung an- zeigen. Damit ist HTML im Grunde schon überfordert, und PHP kann meines Wissens diese Lücke nicht beheben -- aber JavaScript könnte das (z. B. mit einem zusätzlichen onSubmit-Eventhandler im Formular). Ich denke, der sauberste Ansatz (der vor allem auch funktioniert, wenn JavaScript ausgeschaltet ist) ist wie folgt: Nach Absenden des Formulars erscheint eine Seite (HTML/PHP) "Download starten", die per JavaScript das PHP-Skript zum Download der Datei aufruft und alternativ einen Link (mit target="_BLANK") dazu anbietet (das bekannte "Falls der Download nicht automatisch startet, ..."). Bei eingeschaltetem JavaScript könnte schließlich automatisch auf eine Danke-Seite weitergeschaltet werden, ohne JavaScript muss man sich wohl mit einem Link "Weiter" o. ä. behelfen. Extra-Tipp: Mit Hilfe von <noscript></noscript> lassen sich bestimmte Texte und Steuerelemente nur bei ausgeschaltetem JavaScript einblenden. Mit CSS, das per JavaScript geschrieben wird, sind noch schönere "Tricks" möglich. Gruß, Mario Haßler -- GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
php::bar PHP Wiki - Listenarchive