nach Formularbearbeitung zur nächsten Seite weiterleiten
tinu
- php
Hi!
Ich mal wieder. Ich hab mir ein kleines Formular (formular.php)geschrieben. Die Daten werden erfolgreich in ein CSV-File geschrieben (gb_eintrag.php). Und daaaann sollte eigentlich wieder die Ausgangsseite angezeigt werden (show.php) auf welcher dann das CSV-File ausgelesen und dargestellt wird.
Mein Problem liegt bei der gb_eintrag.php Seite. Die soll ja nix darstellen sondern lediglich die im Formular eingetragenen Daten ins CSV-File schreiben und dann zur show.php "weiterleiten"... doch wie funktioniert das Weiterleiten?!
Komm grad echt nicht weiter. Bin dankbar für Tipps oder Lösungen.
MFG tinu
Du könntest die gb_eintrag.php iwie gestalten, also zum design passend.
Dann hinschreiben *automatische weiterleitung*
und dann weiterleiten auf die gewünschte seite...
dazu fügst du in <head> ein:
<meta http-equiv="refresh" content="15" URL=deineSeite.html">
Content ist die anzahl der sekunden bis zur weiterleitung und URL ist die seite zu der geleitet wird!
Du könntest die gb_eintrag.php iwie gestalten, also zum design passend.
Dann hinschreiben *automatische weiterleitung*
und dann weiterleiten auf die gewünschte seite...dazu fügst du in <head> ein:
<meta http-equiv="refresh" content="15" URL=deineSeite.html">
Content ist die anzahl der sekunden bis zur weiterleitung und URL ist die seite zu der geleitet wird!
Hm, ich nehm das mal als Notfall-Lösung, danke. Allerdings wärs mir schon lieber wenn beim Senden nix angezeigt.... aaaaaaaahhh!!! ich glaub ich habs! ich bau die gb_eintrag.php einfach in die show.php ein, indem ich mit ner überprüfe ob in $_POST etwas gespeichert ist. wenn ja, wird der eintrag ins csv-file geschriben, danach alle zeilen aus dem csv-file ausgelesen. wenn nix in $_POST steht werden gleich alle zeilen aus dem csv-file ausgelesen und wiedergegeben.
Sollte klappen, oder? Oder besteht da die Möglichkeit, dass von sonst irgendwoher (und nich von formular.php) etwas in $_POST gespeichert ist?
(ich hoff man versteht was ich da getippt hab -.-)
Hello,
aaaaaaaahhh!!! ich glaub ich habs!
was du da beschreibst ist ein sog. Affenformular, vgl. auch PHP-FAQ.
(ich hoff man versteht was ich da getippt hab -.-)
ja. was du vorher gesucht hast war im Übrigen header()
MfG
Rouven
aaaaaaaahhh!!! ich glaub ich habs!
was du da beschreibst ist ein sog. Affenformular, vgl. auch PHP-FAQ.
*gnihihi* Affenformular. Geiler Name. Wenn ich den Eintrag richtig gelesen hab, dann ist meins allerdings nicht genau ein Affenformular. Das formular (formular.php) ruft ja nicht sich selbst wieder auf sondern die seite (show.php). Zum Formular.php kommt man erst dann wieder wenn man bei show.php auf einen "eintragen"-Link zur formular.php Seite anklickt. Trotzdem, danke für den Begriff :)
(ich hoff man versteht was ich da getippt hab -.-)
ja. was du vorher gesucht hast war im Übrigen header()
Juhuuu... hat geklappt! Danke... hatte das mit dem header ursprünglich versucht, aber habs vermasselt weil ich schon nen header definiert hatte ich Vollnuss.
MfG
Rouven
Auch freundliche Grüsse an Dich ;)
tinu
dann ist meins allerdings nicht genau ein Affenformular. Das formular (formular.php) ruft [...]. Trotzdem, danke für den Begriff :)
doch - dein formular ist ein affenformular - egal obs 7 scripte sind, oder eins
Juhuuu... hat geklappt! Danke... hatte das mit dem header ursprünglich versucht, aber habs vermasselt weil ich schon nen header definiert hatte ich Vollnuss.
hä? die header()-funktion lässt sich auch 2000 mal hintereinander aufrufen, http-header bzw die komplette antwort (zumindest version 1.1) hat prinzipiell keine längenbeschränkung, dennoch wird empfohlen, sich "ein bisschen zusammenzureissen" bei krass langen header musst das ganze als chunked response geschickt werden
im übrigen wäre für dich include bzw require geschickter - eine umleitung per http oder sonstwie ist in den meisten fällen unklug
eine umleitung ist dafür gedacht, um den client umzuleiten, wenn sich eine ressource geändert hat (temporär oder permanent) und nicht weil man unfähig ist, gleich die richtige zu liefern ;)
Moin
hä? die header()-funktion lässt sich auch 2000 mal hintereinander aufrufen, http-header bzw die komplette antwort (zumindest version 1.1) hat prinzipiell keine längenbeschränkung, dennoch wird empfohlen, sich "ein bisschen zusammenzureissen" bei krass langen header musst das ganze als chunked response geschickt werden
Das Schon, aber er meinte, das er bereits eine Ausgabe vor dem setzen des header-Location gehabt hat. :-D Damit war ein header definiert, der auch bereits gesendet wurde und somit ist ein erneuter Header-Befehl in PHP nicht möglich.
Gruß Bobby
Das Schon, aber er meinte, das er bereits eine Ausgabe vor dem setzen des header-Location gehabt hat. :-D Damit war ein header definiert, der auch bereits gesendet wurde und somit ist ein erneuter Header-Befehl in PHP nicht möglich.
Gruß Bobby
100 Punkt für Bobbyyyyyyy!!! :D
Aber danke für den Tipp suit, dass header() eigentlich wirklich nur zur Weiterleitung gedacht ist und nicht um davor ein "riesen" Script durchlaufen zu lassen. Werd mal noch schauen, ob ich das Eintragen direkt in der show.php mache und mir damit die gb_eintrag.php komplett spare. Da bleibt halt nur meine Frage offen, ob es nicht möglich ist, dass dann jemand von ner anderen Seite her (z.b. über ein selbsgebasteltes formular) auf meine show.php seite kommt und seine $_POST Werte in mein Script zur Eintragung der Informationen aus meinem formular.php übergibt. Naja, dann müsst ich einfach das Script entsprechend anpassen und die $_POST Werte genauer prüfen.
Aber erstmal kämpf ich mit dem Auslesen der CSV-Textdatei. Das will nich so wie ich will... bööööösee
Aber danke für den Tipp suit, dass header() eigentlich wirklich nur zur Weiterleitung gedacht ist und nicht um davor ein "riesen" Script durchlaufen zu lassen.
nein, header() ist dafür da um http-header zu setzen - dass man damit weiterleitungen machen kann oder ganz andere dinge spielt keine rolle ;)
http-redirects (oder sonstige umleitungen) sind aber immer dafür gedacht um jemandem umzuleiten, weil die ressource unter der url die man aufgerufen hat, nicht erreichbar ist - eine ressource aber gleich an der falschen stelle zu programmieren um sie dann umzuleiten ist in den meisten fällen absurd
Werd mal noch schauen, ob ich das Eintragen direkt in der show.php mache und mir damit die gb_eintrag.php komplett spare.
wie gesagt: include oder require ist dafür sicher geeignet - oder du machst halt "ein langes script"
Da bleibt halt nur meine Frage offen, ob es nicht möglich ist, dass dann jemand von ner anderen Seite her (z.b. über ein selbsgebasteltes formular) auf meine show.php seite kommt und seine $_POST Werte in mein Script zur Eintragung der Informationen aus meinem formular.php übergibt. Naja, dann müsst ich einfach das Script entsprechend anpassen und die $_POST Werte genauer prüfen.
das könnte er bei deiner aktuellen lösung auch - da besteht kein unterschied
Mahlzeit tinu,
Da bleibt halt nur meine Frage offen, ob es nicht möglich ist, dass dann jemand von ner anderen Seite her (z.b. über ein selbsgebasteltes formular) auf meine show.php seite kommt und seine $_POST Werte in mein Script zur Eintragung der Informationen aus meinem formular.php übergibt.
Die Möglichkeit besteht IMMER, wenn Dein Skript show.php öffentlich erreichbar ist.
Naja, dann müsst ich einfach das Script entsprechend anpassen und die $_POST Werte genauer prüfen.
Das solltest Du sowieso IMMER - aus dem o.g. Grund ... merke: ALL INPUT IS EVIL!
MfG,
EKKi