Achso, klar, danke!^^
Achso, klar, danke!^^
--Ich widerspreche der Nutzung oder Übermittlung meiner Daten für Werbezwecke oder für die Markt- und Meinungsforschung (§ 28 Absatz 3 und 4 Bundesdatenschutzgesetz).
Hallo allerseits, hab ne kurze Frage.
Ich wollt mir mal ein "Wer ist Online?" Script erstellen, bei dem alle registrierten Benutzer erfasst werden, die gerade online sind.
Da hab ich mir gedacht, dass ich in der Usertabelle in der DB das Attribut "Online" hinzufüge, und auf die index.php ein Script packe, welches jedes mal den Wert 1 einträgt.
Naja und letztendlich werden alle User gezählt, deren "Online" Wert "1" beträgt.
Sollte soweit klappen, nur weiß ich nicht, wie man nach einer gewissen Zeit wieder 0 eintragen kann, sofern der User nicht mehr aktiv ist![]()
Bei der Variante bräuchtest du noch ein Extra-Feld des Typs Timestamp "Letzte Aktion". Bei jedem Aufruf der Seite (oder auch jedem zehnten, wenn das genügend sind), resettest du dann alle Online-Flags von Usern, deren letzte Aktion schon länger als x Minuten her ist.
Kannst aber auch gleich eine neue Tabelle nehmen, dann brauchst du nur User ID und Timestamp und löschst die Einträge der Nicht-Aktiven einfach. Kann aber nicht sagen, was performanter ist, das müsstest du ausprobieren, wenn's dir drauf ankommt. Viel Arbeit ist's eh nicht.
--A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
Danke euch beiden![]()
Hui, heut will ich auch mal eine frage stellen.
Ich werd hier noch bekloppt, ich verstehe einfach nicht warum mir der http://validator.w3.org/ kein richtiges UTF-8 Encoding ausgibt.
Bekomme immer diese Meldung:
So und hier der Quelltext:Zitat
Koennt ihr mir da weiterhelfen? Werd hier bald kirre.
gruss deadshox
Steht ja eh schon in der Meldung: im HTTP-Header wird statt utf-8 iso-8859-1 als Encoding angegeben.
Das ist leider immer ein ziemliches Problem, hängt nicht an der HTML-Datei sondern am Server. Als Ausweg gibt es zwei Möglichkeiten:
Entweder du darfst vom Anbieter aus .htaccess-Dateien erstellen (und der Server verwendet Apache), dann kannst du dort einstellen, dass HTML-Dateien allgemein, oder die Datei im Speziellen, als utf-8 ausgeliefert werden sollen.
Oder du darfst PHP-Dateien verwenden, dann könntest du eine erstellen, die zuerst header('Content-Type: text/html; charset: utf-8'); aufruft und dann die jeweilige Datei ausgibt, was allerdings ein Performanceverlust wäre.
In die .htaccess-Datei müsste folgendes:
--A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
Nebenbei, wenn du utf-8 verwendest ist die XML-Deklaration optional. Und du solltest sie auch weglassen, da sie nur schädlich ist.
--
Die Wespe, der Fuchs und der Vogel gehen erst in die Oper und dann auf Safari. 8)
Nützliche Adressen (HTML, CSS, PHP, MySQL, Werkzeuge) für Webgestalter.
-> Übersicht meiner Artikel (HTML Strict verstehen Teil 1-8 und weitere interessante Themen).
Hallo !
Ich stehe vor folgendem Problem:
Ich möchte gern ein PN Script (Ohne PN Anzeige) kreieren, dafür allerdigns nur eine einzige Datei verwenden.
Das heißt, dass sowohl der DB-Eintrag, also auch die Anzeige des Formulars in eine Datei gebracht werden müssen.
Soweit kein Problem, ich benutze ein verstecktes Inputfeld, in welchem eine bestimmter Wert übergeben wird.
Beim Absenden der Nachricht wird überprüft, ob der genannte Wert vorhanden ist, und sofern er es ist, führt die Datei den Eintrag-Part durch; ist er es nicht, wird das Formular angezeigt.
Nur ist mein Problem, was wohl auch ein albekanntes darstellt, dass man nach dem erfolgreichen Eintrag F5 drückt und ein zweiter Eintrag durchgeführt werden kann, was ich gerne verhinden möchte.
Eigentlich wäre das auch kein Problem, da ich wieder die Methode des versteckten Inputfeldes verwenden könnte, was sonst auch immer geklappt hat.
Nun habe ich allerdings die Schwierigkeit, dass der Script sich eben in einer Datei befindet, demnach werden also 2 solcher Inputs verwendet, was logischerweise das Überprüfen per if unmöglich macht.
Zum Verständnis nochmal der Code (ohne F5 Sicherheit)
Entweder du machst eine Zeitsperre über die Session rein oder Aktions-IDs.
Im ersten Fall speicherst du beim Absenden des Formulars den aktuellen Timestamp in der Session ab und überprüfst den halt:
Im anderen Fall generierst du eine ID, wenn das Formular angezeigt wird, der dann mit dem Formular verschickt wird. Mithilfe von diesem Wert kannst du dann überprüfen, ob das Formular bereits abgeschickt wurde:
Ich hoffe das hilft dir weiter...
--
Danke für die Hilfe, nur ist das Problem leider sie Session an sich.
Denn, die Zeitspanne einer Session dauert meistens länger als 5 Minuten, allerdings handelt es sich hierbei ja um ein PN System.
Man soll nicht per F5 diesselbe Nachricht abschicken können, andererseits, soll man aber auch anschließend andere Nachrichten schreiben können.
Wenn ich allerdigns Sessions verwende, so muss man einige Zeit warten, bevor man eine weitere Nachricht schreiben kann.
Da du die Daten in eine Datenbank speicherst, kannst du auch einfach überprüfen, ob eine PN mit exakt dem selben Text an diesen Empfänger schon in der Datenbank existiert. Denn die Methode mit der action_id hätte z.B. zum Nachteil, dass man nicht mit "Zurück" wieder zum Formular kommen, alle Felder löschen, neu eintragen und erneut abschicken kann, auch wenn diese neue PN vielleicht eine vollkommen andere ist.