Datenschutz Impressum

NOF-Schule | Forum

zur Schule NOF-NetObjects-Tutorials von Tommy Herrmann


Merken, was gesehen wurde?
#1
Auf meiner Lachulus - Seite sollen die Kinder einen "Lachführerschein" machen.
Dazu wird es 8 Videos geben, die die Kinder idealerweise in einer bestimmten Reihenfolge sehen sollen. Zumindest soll mit einem Haken angemerkt werden: "das Video wurde schon gesehen".

Mir schwebt da jetzt ganz grob was mit Cookies vor und mit Javascript....

Hat jemand hier schonmal sowas gemacht?
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#2
da fällt mir nur (spontan) dieser Klickzähler ein, den Werner mal vor 10 Jahren vorgestellt hatte.

http://www.tommyherrmanndesign.com/nof/B.../index.php

Dann könntest Du wenigstens sehen, wie oft das Video angesehen wurde. Keine Ahnung, ob das schon was wäre, ich habe das z.B. auch hier in Mobirise zum Zählen der versendeten Formulare eingebaut (unter dem Formular):

http://www.mobirise-tutorials.com/Formular/

... oder auch hier zum Zählen der Aufrufe des "Formular Generators" (auf meiner Seite):

http://www.nof-tutorials.com/Kontakt-For...torial.php
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#3
Du, ich finde da den Code gerade nicht.

Komm doch drauf an, wo Du die Klicks speicherst, die Du zählst.
Wenn die auf dem PC des Besuches gespeichert werden, kann ich für jedes Video dessen Klicks speichern.
Dann diese Zahl "irgendwie" via JavaScript lesen und einem Haken am Video eine Klasse "habs-gesehen" zuzuordnen. Ja, so ungefähr....
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#4
den Code findest Du auf meiner Tutorial-Seite (auch als ZIP zum Download):

http://www.tommyherrmanndesign.com/nof/B...torial.php
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#5
Cookies kann man löschen und dann sollte man auch bei einer Datenbank bleiben denn dort ist ja schon der Benutzer eingetragen. Mein Vorschlag wäre eine neue DB-Tabelle zu erstellen. Wenn die Videos (Seite) vom Benutzer aufgerufen wird dann sollte zuerst überprüft werden ob der Benutzer schon ein Video angesehen hat, das heißt in der Tabelle muss ein Wert (Zähler) für jedes angesehene Video eingetragen werden. Mein Vorschlag wäre das der Benutzer seine bereits angeschauten Videos noch einmal anschauen kann. Wenn der Benutzer auf "Weiter" klickt, dann soll das Video angezeigt werden das dieser noch nicht angesehen hat. Das kann man dann ganz leicht in der DB feststellen ob der Benutzer alle Videos angesehen hat und dann am "Ende der Videos" weitere Optionen für den Benutzer bereitstellen. K.A. ob da jemand mein Geschreibsel lesen und verstehen kann das waren nur meine Gedanken nach einem wohlverdienten Feierabend.
Werner
https://werner-zenk.de - Webseiten erstellen, optimieren und aufpeppen

Benutze zum arbeiten: Win10 (Windows Insider) - Mozilla Firefox, Microsoft Edge - EmEditor, Visual Studio Code - WAMP,  FileZilla, paint.net und Gimp.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#6
Du, das macht nichts, wenn man die Löschen kann.
ich kann mir durchaus vorstellen, dass ein Kleinkind jetzt unbedingt den Film Nr 5 als erstes sehen will - warum auch immer. ich weiß nicht, ob das rigoros verboten sein sollte.
Und wenn der Bruder am selben PC saß?
Ich gehe mal nicht davon aus, dass ALLE Kinder einer Familie sich einzeln anmelden (lassen)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#7
Dann musst du dir ein Konzept überlegen wie das Ganze (mit den Vorgaben, aus der Sicht des Benutzers) funktionieren / ablaufen soll und dieses dann Programm-technisch umsetzen.
Werner
https://werner-zenk.de - Webseiten erstellen, optimieren und aufpeppen

Benutze zum arbeiten: Win10 (Windows Insider) - Mozilla Firefox, Microsoft Edge - EmEditor, Visual Studio Code - WAMP,  FileZilla, paint.net und Gimp.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#8
Und wenn es dann doch in die Datenbank geht, muss ich noch einen finden, ders macht.
Sonst lieg ich Dir ja ständig in den Ohren "Werner, hilfe!!!!"
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#9
So, es wird (erstmal) alles nur auf Hinweisbasis gelöst.
ich habe schonmal irgendwann was mit Cookies gemacht?
Nur wie, weiß ich nicht mehr....
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#10
Beim "Formular Generator" habe ich localStorage() verwendet und das funktioniert sehr gut und ist einfach zu handhaben.
Wird von allen Browsern unterstützt (hinunter bis zum IE8).
https://werner-zenk.de/scripte/localstorage.php
https://developer.mozilla.org/en-US/docs...calStorage
Werner
https://werner-zenk.de - Webseiten erstellen, optimieren und aufpeppen

Benutze zum arbeiten: Win10 (Windows Insider) - Mozilla Firefox, Microsoft Edge - EmEditor, Visual Studio Code - WAMP,  FileZilla, paint.net und Gimp.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#11
Das sieht sehr gut aus thumbs up
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#12
So, bin mächtig eingerostet mit Javascript Undecided
Könnte mal bitte irgendwer mit mehr JS-Ahnung drauf schauen!?
So klappt das natürlich noch nicht

Ich klicke auf "Video 1 abspielen" und baue ins den Videostart ein
onclick="speichern('Video1','1')"

Etwa so
<a href="videos/hasen.mp4" target="_blank" videospeichern('Video1','1') >Video starten </a>

Die beiden Funktionen stehen im head
<script>
function videospeichern($key, $data) {
window.localStorage.setItem(key, data);
}
</script>
<script>
function videolesen($key) {
var data=window.localStorage.getItem(key);
return data;
}
</<script>>


Beim Start der Seite müsste dann Folgendes etwa ablaufen
<script>
window.onload = function ()
{
var DataVideo1 = videolesen('Video1');
if ($DataVideo1=1)
{
var element = document.getElementById("ID-video1");
element.classList.add("IchBinSichtbar");
}
}
</script>
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#13
Moin,
ich sehe du hast dich bemüht, deshalb habe ich da mal ein eigenes Beispiel gemacht:

Code:
<script>
// Beim laden der Seite aufrufen
window.addEventListener("load", function() {

let vid = "A"; // Einzelner Buchstabe als ID!

// Dem Video den Event 'play' hinzufügen
document.getElementById("video").addEventListener("play", function () {

  // Überprüfen ob ein Datensatz vorhanden ist.
  if (!window.localStorage.getItem("hasen")) {
  // Leeren Datensatz erstellen
  window.localStorage.setItem("hasen", "");
  }

  let hasen = window.localStorage.getItem("hasen");
  // Überprüfen ob der Datensatz den Buchstaben enthält.
  if (!hasen.includes(vid)) {
  // Buchstaben hinzufügen.
  window.localStorage.setItem("hasen", hasen + vid);
  }
});
});
</script>

</head>
<body>

<video width="532" height="493" controls id="video">
<source src="videos/hase_a.mp4" type="video/mp4">
</video>

<p><a href="index.php">Zurück</a></p>

Komplettes Beispiel zum herunterladen:

.zip   hasen.zip (Größe: 34,42 KB / Downloads: 3)
Werner
https://werner-zenk.de - Webseiten erstellen, optimieren und aufpeppen

Benutze zum arbeiten: Win10 (Windows Insider) - Mozilla Firefox, Microsoft Edge - EmEditor, Visual Studio Code - WAMP,  FileZilla, paint.net und Gimp.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#14
Was ist die schlimmste Beurteilung in einem Arbeitszeugniss?
"Er hat sich sehr bemüht..." :D

Werner, ich finde es echt grandios!
Du hast hier ein dickes Fragezeichen in meinem Projekt gelöst.

Du hast Arbeit und ich habe Geld...geht ja eigentlich nicht.
Bau Dir auch mal einen SPENDEN_BUTTON ein! Im Ernst!
Sonst bekomme ich Bauchschmerzen

Ich muss jetzt erst ne Runde mit dem Hunde in den Rest-Wald und umgekippte Bäume zählen.
Werde es gleich einbauen
thumbs up thumbs up thumbs up thumbs up
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
#15
Bin noch nicht so weit gekommen.
Andere Frage: Wie initialisiere ich den benutzer, wenn keiner angemeldet ist?
Auf der Startseite kommt nach PC-Neustart unten bei "angemeldeter benutzer" eine PHP-Fehlermeldung.
Aber nur nach PC-Start - und das nicht immer
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren




Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
nach oben An den Anfang der Seite scrollen
NetObjects Fusion Infos, Downloads und Updates Diese Website wird durch Bot-Trap vor Spam geschützt!