CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
13.06.2009, 13:02:06
|
Anfänger
|
|
Registriert seit: Jun 2009
Alter: 58
Beiträge: 9
|
|
doppelte einträge im gästebuch nach browseraktualisierung (oder F5) vermeiden
Hallo liebe Experten!
Mein Gästebuch, wohl bemerkt ohne DB, mach endlich, was es soll, sogar in Farbe ( www.meinphp.mimatete.de/p3.php). Es macht aber sogar mehr - und zwar wenn man ein Beitrag abschickt und dann die Seite aktualisiert (per Schalter des Browsers oder F5, ich habe Firefox) schreibt das Prog den letzten Beitrag noch Mal ins Buch (dabei sind die Imput-Felder schon leer).
Ich habe folgendes Versucht (nicht gleichzeitig):
den Abschnitt mit
"öffne Datei mit Option 'a', schreibe ein Satz mit Tilden dazwischen, schließe Datei"
habe ich
1. zwischen IF (isset($_POST["Senden"])) und unset($_POST["Senden"]); gestellt
2. zwischen if (($_POST["Senden"])=="Abschicken") und $_POST["Senden"] =""; gestellt
(es handelt sich um die SUBMIT-schaltfläche mit dem Namen SENDEN und dem Wert ABSCHICKEN)
Ich glaube, dass man das Schreiben in die Datei unterbinden kann. Ziel ist: NUR dann schreiben, wenn die Daten per diese besondere Schaltfläche gesendet werden und nicht mit F5.
Bitte um ein Wink. Ich habe keinen Code eingefügt, weil Ihr Menschen und NICHT Parser seid. Mein Problem ist wirklich gut beschrieben.
Danke
mimatete
|
13.06.2009, 13:09:15
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
|
|
AW: doppelte einträge im gästebuch nach browseraktualisierung (oder F5) vermeiden
Erzeuge eine zufalls "TAN" speichere sie in Session und gib sie als verstecktes Formfeld mit. Vor dem Speichern prüfe die gültikeit der TAN. Nach dem Speichern lösche die TAN in Session.
|
14.06.2009, 13:16:24
|
Anfänger
|
|
Registriert seit: Jun 2009
Alter: 58
Beiträge: 9
|
|
AW: doppelte einträge im gästebuch nach browseraktualisierung (oder F5) vermeiden
Herzlichen Dank.
Folgendes habe ich gemacht:
1. gleich am Anfang des Formulars folgene Zeile eingefügt:
<input type="hidden" name="istweg" value=1>
2. vor dem öffnen der Datei mit den Einträgen:
if ($_POST["istweg"] == 1)
3. Nach dem Schließen der Datei zwei Varianten ausprobiert: - unset($_POST["istweg"]);
- $_POST["istweg"] = "";
Leider ist das Programm sehr stur und wiederholt die Ausgabe weiter. Jede Aktualisierung bring eine neue Zeile in die Datei. Hmmmm.....
Ich habe auch nach dem eine Zeile in die Datei geschrieben wurde die entsprechende Variable auf NIX gesetzt. Wo befinden sich die Daten, die wiederholt reigeschrieben werden? im Cache? Ich habe zwar sehr viel über Computer gelernt, aber dieses Verhalten war nicht dabei :(
Hat noch jemand eine Idee?
Stört es, dass die Plausibilitätskontrolle von JS realisiert wird? Ich habe gelesen, dass es ohne Probleme geht und sogar empfohlen wird.
Danke
mimatete
|
14.06.2009, 13:22:33
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
|
|
AW: doppelte einträge im gästebuch nach browseraktualisierung (oder F5) vermeiden
Zitat:
Wo befinden sich die Daten, die wiederholt reigeschrieben werden? im Cache?
|
Im Browser Cache!
Und da kommst du mit PHP nicht dran.
Es ist also sinnfrei, im Post Array rumzurühren.
|
15.06.2009, 10:01:26
|
|
Member
|
|
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 38
Beiträge: 900
|
|
AW: doppelte einträge im gästebuch nach browseraktualisierung (oder F5) vermeiden
Hallo mimatete,
du hast zwei gebräuchliche lösungen zu auswahl, einmal die von DokuLeseHemmung vorgeschlagene token lösung, und zum anderen kannst du den user nach der formularverarbeitung weiterleiten, ich zitiere:
Zitat:
Zitat von Besser PHP Programmieren, Kapitel 9 Praxis-Lösungen für den Programmieralltag
Eine Zweite Möglichkeit, mit dem Problem umzugehen, ist, den Benutzer einfach zu "forwarden". Das heißt, dass der User, nachdem die Daten gespeichert wurden, mit Hilfe der Funktion header() umgeleitet wird. Auch damit kann man die Seite "reaload-sicher" machen, da das Versenden der Daten dann nicht mehr in der History des Browsers bleibt; es wird durch die Weiterleitung ersetzt.
|
|
15.06.2009, 17:02:52
|
Anfänger
|
|
Registriert seit: Jun 2009
Alter: 58
Beiträge: 9
|
|
AW: doppelte einträge im gästebuch nach browseraktualisierung (oder F5) vermeiden
Ach, Ihr lieben Experten,
ich habe nicht nur die 2 Möglichkeiten.
Jetzt gehen "Eingabe" und "Auswertung + Darstellung" getrennte Wege und sind in Frames eingebetet. Ich weiss, dass man Frames nicht mag. Aber jetzt ist mein GB sehr schön und funktioniert ( http://www.meinphp.mimatete.de/GB2/gb2.htm).
Wenn man programmiert darf man sich nicht so versteifen auf 2 oder 3 Lösungen.
Vielle Wege führen ins Ziel, auch wenn sie manchmal sehr komisch aussehen.
Ich werde versuchen Euch nicht mehr zu beanspruchen. Ihr seid mir ... zu trocken. Vielleicht, weil Ihr (alle?) Männer seid. Es ist wirklich nicht angenehm von Euch beratschlagt zu werden (mit eine einzige Ausnahme - DokuLeseHemmung). Ich habe keine Komplexe oder Vorurteile, vielleicht bin ich in meiner Krankheit ein wenig dünnhäutig geworden.
Nicht alle Programmierer sind gefühllose Eremiten. Und nicht alle sind Männer ;o)
mimatete
|
15.06.2009, 17:12:37
|
|
Member
|
|
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 38
Beiträge: 900
|
|
AW: doppelte einträge im gästebuch nach browseraktualisierung (oder F5) vermeiden
Hallo mimatete,
Zitat:
du hast zwei gebräuchliche lösungen zu auswahl
|
Damit meinte ich das es 2 Wege gibt die sich bewehrt haben und auf die oft zurück gegriffen wird. Da steht in keinster weise das es nicht möglich ist diese Problematik auf 1000000 anderen wegen zu lösen.
Das man frames nicht benutzt hat seine Gründe, die dir anscheinend nicht wichtiger sind als deine exotische lösung.
Tut mir leid wenn wir versuchen schnell und kompetent zu helfen und keinen kaffe und kuchen verteilen.
|
15.06.2009, 17:46:18
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
|
|
AW: doppelte einträge im gästebuch nach browseraktualisierung (oder F5) vermeiden
Danke für die Blumen.
(Nicht alle sehen das so)
Eigentlich bin ich hier dafür "berühmt", dass ich "Denkblockierte" ordendlich zusammenfalte.
(habe hier fast mehr Feinde als Freunde)
Aber das mit dem M/W Gedöns ist mir wurscht. Ich antworte als Neutrum(zumindest versuche ich es).
Zum Thema:
Auch meines bescheidenen Wissens nach, gibts nur diese 2 genannten praktikablen Möglichkeiten. Wie du das per Frames abgehandelt hast, KA. Kann ich mir auch nicht vorstellen.
PS:
Ich habe es gerade mal getestet...
Doppelte Einträge sind über F5 problemlos möglich.
Mache meine Beiträge ruhig weg.....(zumindest den doppelten)
Geändert von DokuLeseHemmung (15.06.2009 um 17:47:18 Uhr)
|
16.06.2009, 04:19:58
|
Anfänger
|
|
Registriert seit: Mar 2009
Alter: 37
Beiträge: 46
|
|
AW: doppelte einträge im gästebuch nach browseraktualisierung (oder F5) vermeiden
@DokuLeseHemmung
zusammenfalten??? naja...ich finde nur, dass du teils eine seltsame Art zu antworten hast wenn man nicht gleich auf den Punkt kommt Oo
wie auch immer....das mit den Frames klappt bei mir auch nich so ganz...kenne auch nur die 2 besagten Lösungen...wobei ich eher zur zweiten tendiere.... man muss bei header() halt nur aufpassen, dass keine Ausgabe vorher kommt
|
16.06.2009, 08:27:31
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: doppelte einträge im gästebuch nach browseraktualisierung (oder F5) vermeiden
Zitat:
Zitat von mimatete
Ich weiss, dass man Frames nicht mag
|
nein - frames sind lediglich keine antwort auf (d)ein problem. aber nun... jeder, wie er / sie es mag.
Zitat:
Zitat von mimatete
Wenn man programmiert darf man sich nicht so versteifen [...]
|
mich persönlich beschleicht ein sehr eigenartiges gefühl, wenn ein user im anfänger-stadium zuerst einmal (grundlegende) hilfe benötigt und plötzlich kluge sprüche macht.
Zitat:
Zitat von mimatete
Es ist wirklich nicht angenehm von Euch beratschlagt zu werden [...]
|
die hand, die einen füttert, beisst man nicht. ist dir das schon einmal zu ohren gekommen?
Zitat:
Zitat von mimatete
Ich habe keine Komplexe oder Vorurteile, vielleicht bin ich in meiner Krankheit ein wenig dünnhäutig geworden.
|
ach gottchen... und deswegen schwingst du dich zum botschafter - sorry: zur botschafterin - der sensibilität auf und wirfst uns sowas hier an den kopf: Nicht alle Programmierer sind gefühllose Eremiten. verleiht dir deine gesundheitliche beeinträchtigung das recht, uns zu be- / verurteilen...? welche rolle spielt es, dass du (möglicherweise) weiblich bist?
mädchen... du gibst mir kraft am frühen morgen.
cx
Geändert von cortex (16.06.2009 um 08:39:34 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Hybrid-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:49:43 Uhr.
|