Event-Kalender mit SQLite

PHP, CSS und JavaScript lernen. Anwendungen für Webseiten
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Ja, genau so hat es bei mir funktioniert.
Ich habe das Ganze auch erst zweimal getestet und bei jedem Aufruf wurde die Mail versendet.
Das liegt dann definitiv an 1&1, zwischen 0 und 6 Uhr, bei mir hat sich der Damon 3 Stunden Zeit gelassen.
Beschwere dich nicht bei mir, ich kann nix dafür.
Es gibt im Web auch kostenlose Dienste, die so einen Cronjob anbieten.
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5861
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

Moin,

beschwere mich ja nicht :D

... habe nur festgestellt. Ich habe jetzt mal noch 4 neue Einträge über die nächste Woche gemacht und werden mal gucken.
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5861
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

Moin,

Du - danke - aber das habe ich alles schon mehrfach gelesen - ohne es nun wirklich auch komplett verstanden zu haben.

Ich denke, dass meine Aufgabe darin liegt, im Skript das:

WHERE DATE(`datum`) = DATE('now','+1 day')

so zu übernehmen oder die Tage anzupassen, also hier Cronjob 1 Tag vor dem Ereignis ausführen.

Code: Alles auswählen

if (isset($_GET["cron"])) {
  $nachricht = "";
  $select = $db->query("SELECT `event`, `beschreibung`, `datum`
   FROM `kalender` 
   WHERE DATE(`datum`) = DATE('now','+1 day')
   AND `nachricht` = 1
   ORDER BY `datum` ASC");
  $events = $select->fetchAll();
  foreach ($events as $event) {
    $nachricht .= date('d.m.Y - H:i', strtotime($event["datum"])) . ' Uhr' . PHP_EOL .
      $event["event"] . PHP_EOL . stripBBCode($event["beschreibung"]) . PHP_EOL . PHP_EOL;
  }
  if (!empty($nachricht)) {
    mb_internal_encoding("UTF-8");
    $betreff = mb_encode_mimeheader("Event-Kalender", "UTF-8", "Q");
    $kopfzeile = "From: " . mb_encode_mimeheader('"' . $_SERVER["HTTP_HOST"] . '"', "UTF-8", "Q") .
      " <$EMAIL>" . "\nMIME-Version: 1.0;\nContent-Type: text/plain; charset=UTF-8;\n";
    mail($EMAIL, $betreff, $nachricht, $kopfzeile);
  }
}
... und eben den Cronjob bei 1und1 anzulegen.

Nach meinem Verständnis wird dann das Skript kalender.php?cron einmal täglich von 1und1 in dem angegeben Zeitraum aufgerufen und es müsste durch die PHP-Aktion ?cron eine Mail durch das vorhandene $_GET["cron"] gesendet werden.

Wird sie aber bisher nicht sondern nur beim Test - also wenn ich das Skript aktiv aufrufe.

Ich weiß nicht, was ich noch tun müsste oder falsch gemacht haben könnte, da ich mich mit der Materie nicht auskenne. Was genau hast Du denn noch bei 1und1 eventuell anders eingestellt?

Ich brauche das ja auch nicht wirklich, nur wäre es schon schön, wenn es auch funktioniert :(

Ich habe das nun mal beim Cronjob von 1und1 bei E-Mail senden auf "immer" gestellt:


Cronjob Hosting IONOS.png


Stand am 03.03.2022 um 15:00 Uhr

Die nächste Abfrage ist kommende Nacht (zwischen 0:00 und 6:00 Uhr):


Nächste Abfrage Cronjob.JPG
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Bei mir schaut das auch so aus, nur das, das Protokoll mehr Einträge hat
Screenshot 2022-03-03 163418.png
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5861
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

Moin Werner,

ich habe telefonisch bei "1und1 IONOS" keine Auskunft zu meinem Problem mit den Cronjobs erhalten können und daher heute an den Support geschrieben.

Ich werde berichten, was mir gesagt wird.
Benutzeravatar
Volker
Moderator
Moderator
Beiträge: 855
Registriert: Sa 12. Dez 2020, 22:35
Wohnort: Wildberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Volker »

Hi Tommy,

ich hoffe Du hast das nur händisch für den screenshot eingefügt mit tommy@meinedomain.de ;)
Gruß Volker
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5861
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

@Volker,

ja - klar - was glaubst Du denn :D

"IONOS" hat sich heute bereits mehrmals gemeldet und ich habe auch lange telefoniert. Es gibt ein Problem bei "IONOS", was bisher nicht identifiziert werden konnte. Ein Test seitens "IONOS" lief genauso erfolgreich wie meine Tests, leider ist der Sinn eines Cronjobs aber, dass dieser automatisch abläuft und genau das tut er eben nicht :crying:

An meinem uralten Vertrag liegt es wohl auch nicht (aus den 90igern). Sie wollen sich Montag, spätestens Dienstag erneut melden.
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Da müsste für jeden Tag ein Eintrag im Protokoll stehen. Mich irritiert etwas das bei dir die Ausführung 15s gedauert hat, bei mir waren es 0s. Eigentlich ist so ein Apache Webserver sehr schnell.
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5861
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

Moin,

ja - das fand ich auch merkwürdig. Bei meinen anderen Tests stand dort immer 1s (nie 0s).

"1und1 IONOS" hatte das erfolgreich getestet (Status: 200), daher hatte ich dann gestern gleich meinen persönlichen Berater erneut angerufen und ihm das nochmals mitgeteilt.

Das es funktioniert weiß ich ja auch - nur eben nicht automatisch, was ja der eigentliche Sinn eines Cronjobs ist.

Daher muss der Fehler bei IONOS liegen. Sie wollen sich am MO und DI um eine Lösung bemühen, obwohl es für Cronjobs angeblich gar keinen Support gäbe. Da muss ein Techniker ran.


Cronjob-Protokoll.JPG

Cronjob Test IONOS.JPG



OFF Topic:

Das Gespräch war aber recht interessant.

Da ich noch einen uralten Tarif "1&1 Dual Advanced" habe, den es gar nicht mehr gibt, habe ich mich mal nach einer Tarif-Umstellung erkundigt.

Die Tarife sind heutzutage allerdings total anders zusammengesetzt, hatte ich z.B. noch 5 Domains inklusive wäre ein vergleichbarer Tarif nur noch mit 3 Domains mit je 1 E-Mail Adresse, ich habe im Moment 1.000 E-Mail Adressen und eine unbegrenzte Anzahl an Subdomains. Ich habe aber nur 10GB Webspace und nur 20 Datenbanken, der neue Vertrag hätte 250GB und auch 250 Datenbanken.

Ich müsste also bei einer Umstellung z.B. 2 Domains extra bezahlen und auch jede zusätzliche E-Mail Adresse, was am Ende aber ziemlich gleich viel kosten würde.

Übrigens das Limit für eine Datenbank ist bei gehosteten Servern 2GB - größer geht nicht. Das könnte theoretisch mal für das Forum hier ein Thema werden, praktisch wohl eher nicht. Das alte Forum hatte nach 10 Jahren gerade mal 36MB Datenbankgröße.

Für den "PHP Extended Support", wegen meiner alten NOF-Komponenten, habe ich da noch PHP 5.6 zu laufen, was mich fast ebenso viel wie meine gesamte Domain kostet - ich glaube ich werde mal irgendwann in diesem Jahr alle meine NOF-Komponenten löschen müssen und das alte Zeugs los werden. Da das aber viele Hundert Seiten betrifft, bin ich nicht sicher, ob ich dann alles finden werde und ich werde dann sicherlich wieder mindestens 1-2 Wochen daran sitzen alles umzuschreiben :eek:

... oder ich stelle einfach auf eine aktuelle PHP-Version um und lasse es auf mich zukommen und entferne dann nach und nach das alte NOF-Zeugs. Unglaublich eigentlich, dass NOF heute immer noch mit den alten Komponenten, die gar nicht mehr funktionieren, für einen teilweise unverschämten Preis verkauft wird.
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Tommy Herrmann hat geschrieben: Sa 5. Mär 2022, 04:53 Unglaublich eigentlich, dass NOF heute immer noch mit den alten Komponenten, die gar nicht mehr funktionieren, für einen teilweise unverschämten Preis verkauft wird.
Wer schlachtet schon eine Kuh, die noch gemolken werden kann
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5861
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

Moin,

es sieht fast so aus, als ob das mit den Cronjobs jetzt funktioniert. Ich muss es weiter beobachten. Offensichtlich ist es vollkommen egal, was man dort einstellt, die Ausführung findet, genau wie auch bei Dir Werner, immer nachmittags statt.


Protokoll.JPG
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Version: 07.03.2022
- Das JavaScript wurde so angepasst, das es keine Skript-Warnungen mehr auf dem Handy gibt.
- Eine markierte Checkbox wird nun besser hervorgehoben.
- Kleinere Anpassungen in HTML, PHP und CSS.

Ich glaube das wird für lange Zeit die letzte Version sein, außer jemand (oder ich) hat da eine tolle Idee, die unbedingt hinein muss :D
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5861
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

Moin Werner,

danke für den Hinweis auf die neue Version vom 07.03.2022, die ich so auch übernommen habe:

https://www.mobirise-tutorials.com/Even ... er-SQLite/

Komisch, den von Dir benannten JavaScript-Hinweis habe ich nie am Handy erhalten.



Hier noch eine Mail von "1&1 IONOS" bezüglich des Cronjobs, der nun (merkwürdiger Weise) gerade richtig und automatisch bei mir läuft, allerdings zu unkontrollierten und sehr unterschiedlichen Tageszeiten:


Cronjobs Hosting IONOS.jpg


... und die Mail vom SQLite-Kalender-Skript der Einträge des kommenden Tages DATE('now','+1 day':


Cronjobs E-Mail.JPG



Ich werde diese Anweisungen daher jetzt noch nicht umsetzen und das erscheint mir auch sehr kompliziert und eben nicht an den Normal-User vermittelbar.


1&1 IONOS hat geschrieben:
vielen Dank für die genaue Schilderung Ihres Anliegens.

Die Fachabteilung hat mir folgendes zu Ihrem Cronjob mitgeteilt:

Dieses Problem ist leider bekannt. Der Cronjob im Kundenlogin ist "irgendwann" nur nicht zeitnah.

Nur die direkt eingerichteten Cronjobs laufen zeitlich korrekt.

Lösung ist in diesem Fall ist Putty zu installieren:

https://www.ionos.de/hilfe/hosting/ssh- ... erstellen/

Dann den Cronjob mit crontab -e einrichten :

https://www.ionos.de/hilfe/hosting/cron ... n-sollten/

Bei allen Fragen zu Ihren Hosting-Produkten stehe ich Ihnen mit Rat und Tat zur Seite.
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Es ist doch egal, wann dieser Damon durchläuft, Hauptsache die Mail kommt an. Dann macht man eben 2 day daraus, wenn die Zeit zur Benachrichtigung nicht ausreicht. Nicht jeder Benutzer ist bei 1&1 und hat diese Probleme.
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5861
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

ja klar, wenn es geht ist es ja auch gut.

Mein Problem war ja eben, dass es quasi eine Woche lang gar nicht ging.

Ich habe keine Ahnung warum es nun geht. Es funktionierte im Prinzip, seit dem ich "E-Mail Benachrichtigung" > auf "immer" eingestellt hatte, was ich nun auch wieder auf "Nur bei Fehler" gestellt habe und es dennoch weiter funktioniert.
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5861
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

... also das mit den Cronjobs scheint, nach den anfänglichen Schwierigkeiten, nun wunderbar zu funktionieren :)

Es wird zwar immer nur nachmittags gesendet (egal was man einstellt) - aber das ist ja auch egal.


Cronjobs.JPG
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Eben, andere Provider bieten da auch oft nicht mehr und das reicht auch. Wobei dan Cronjob etwas irreführend ist, sollte wohl eher Daily job heißen :D
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5861
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

... das war jedenfalls mal wieder eine geniale "WID" (Werner Idee) :D

... so kann man (insbesondere ich) sich an seine Termine auch noch erinnern lassen :tu:
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Tommy Herrmann hat geschrieben: Di 8. Mär 2022, 05:18 Komisch, den von Dir benannten JavaScript-Hinweis habe ich nie am Handy erhalten.
Nee Tommy, niemand entwickelt da am Smartphone irgendeine JS-Funktion. Dies wird alles von einem Desktop-PC aus gemacht.
Die Browser können Heutzutage alle ein Smartphone emulieren, so das auch JS-Fehler angezeigt werden, die nur das Smartphone betreffen.
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 15 Gäste