mercedes: Statusanzeige, Datensatz wurde versendet

Hallo,
ich möchte gerne eine Statusanzeige, die mir anzeigt ob ein bestimmter Datensatz per mail versendet wurde, realisieren.
In einer Schicht soll am Ende dieser ein Tages-(Fehler)bericht versendet als pdf werden. Die Daten werden mit fpdf aus einer mysql Datenbank ausgelesen und das pdf per mail versendet.
Auf der index-Seite möchte mein Chef so etwas wie ein Ampel-System (rot/grün) als Anzeige haben.
Hat jemand ne Idee wie ich das am besten umsetzen kann?

Gruß

  1. Hallo

    ich möchte gerne eine Statusanzeige, die mir anzeigt ob ein bestimmter Datensatz per mail versendet wurde, realisieren.
    In einer Schicht soll am Ende dieser ein Tages-(Fehler)bericht versendet als pdf werden. Die Daten werden mit fpdf aus einer mysql Datenbank ausgelesen und das pdf per mail versendet.
    Auf der index-Seite möchte mein Chef so etwas wie ein Ampel-System (rot/grün) als Anzeige haben.

    Du kannst in einer eigenen DB-Tabelle speichern, ob an einem bestimmten Tag das Generieren und der Versand geklappt haben. Diese Information kannst du auf einer Seite benutzen um eine entsprechende Ausgabe zu realisieren.

    Beachte aber, wenn du die Email mit mail versendest, dass diese Funktion die Email nur an den in der php.ini eingetragenen Mailserver/das Mailprogramm übergibt. Der Rückgabewert von mail gibt also nur darüber Auskunft, ob diese Übergabe geglückt/gescheitert ist (siehe: return values/Rückgabewerte auf der verlinkten Seite). Um den erfolgten Versand zu konstatieren, müsstest du also auf ein Log des Servers/Programms zugreifen und dies auswerten.

    Tschö, Auge

    --
    Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
    Terry Pratchett, "Wachen! Wachen!"
    Veranstaltungsdatenbank Vdb 0.3
    1. Du kannst in einer eigenen DB-Tabelle speichern, ob an einem bestimmten Tag das Generieren und der Versand geklappt haben. Diese Information kannst du auf einer Seite benutzen um eine entsprechende Ausgabe zu realisieren.

      ..o.k, verstehe.
      Muß dann die Seite per Hand aktualisiert werden oder gibt es da eine Automatische Möglichkeit?

      Dazu auch gleich noch 'ne Frage:
      Mit diesem Formular werden am Tag mehrere Einträge vorgenommen.
      Wenn Form versendet kommt die Anzeige "Der Datensatz wurde hinzugefügt!" das ist soweit o.k.
      Gibt es eine Möglichkeit die Anzeige zu löschen wenn ein erneuter Eintrag in ein Formularfeld erzeugt wird?

      Gruß

      1. Hallo

        Du kannst in einer eigenen DB-Tabelle speichern, ob an einem bestimmten Tag das Generieren und der Versand geklappt haben. Diese Information kannst du auf einer Seite benutzen um eine entsprechende Ausgabe zu realisieren.

        ..o.k, verstehe.
        Muß dann die Seite per Hand aktualisiert werden oder gibt es da eine Automatische Möglichkeit?

        Du wirst dafür doch mit einer serverseitigen Programmiersprache (PHP, Perl, Python (Warum fangen die alle mit "P" an?)) arbeiten? Da könnte man doch den Versand z.B. der letzten drei Tage dokumentieren. Lese die Statii der Versandversuche der letzten drei Tage aus der Datenbank und gebe sie aus. Anhand des tatsächlichen Status' gibst du das dazu passende Ampelbild oder eine Klasse, die zu einer passenden Hintergrundeinfärbung des Eintrags führt, aus.

        Dazu auch gleich noch 'ne Frage:
        Mit diesem Formular werden am Tag mehrere Einträge vorgenommen.
        Wenn Form versendet kommt die Anzeige "Der Datensatz wurde hinzugefügt!" das ist soweit o.k.
        Gibt es eine Möglichkeit die Anzeige zu löschen wenn ein erneuter Eintrag in ein Formularfeld erzeugt wird?

        Nehmen wir an, ein Eintrag ist erfolgt und eine Eintragsbestätigung wird angezeigt. Nun wird das Formular erneut ausgefüllt, ohne zwischenzeitlich die Seite mit dem Formular neu geladen zu haben. Die Bestätigung des vorigen Eintrags ist also noch vorhanden.

        1. Wird der nächste Eintrag übermittelt und er erfolgt auch, steht nach dem Neuladen der Seite wieder eine Eintragsbestätigung auf der Seite. Eigentlich ist es logisch, dass er sich auf den unmittelbar zuvor erfolgten Eintrag bezieht. Würde die Seite *ohne* einen Eintrag vorzunehmen neu geladen, sollte schließlich auch keine Eintragsbestätigung vorhanden sein. Um nun die verschiedenen Einträge voneinander zu unterscheiden, könnte man die Eintragsbestätigung um ein eindeutiges, zum jeweiligen Eintrag passendes Merkmal ergänzen. Da wäre z.B. das Eintragsdatum samt Uhrzeit (Der Eintrag vom 17. Oktober 2009, 17:32:58 Uhr wurde gespeichert) oder die Anzeige eines eventuell vorhandenen Titels (Der Eintrag "Wie ich dieses Problem löste" wurde gespeichert).

        2. Man könnte auf der Eintragsseite zusätzlich eine Liste á la "Die Einträge von heute" ausgeben, die alle heutigen Einträge mit eventuell vorhandenem Titel und Eintragszeitpunkt ausgibt.

        3. Als zusätzliches Feature kann man, beim erneuten Benutzen des Formulars (mit onfocus), via JavaScript die CSS-Eigenschaften der Eintragsbestätigung des vorigen Eintrags manipulieren. Dazu sollte das Element, in dem die Bestätigung steht, eine ID haben, auf die man mit JavaScript zugreift und dem Element eine Klasse verpasst, für die im CSS bestimmte Eigenschaften definiert sind.
        So könnte man die Bestätigung ausblenden (würde ich mit visibility:hidden; machen, bei display:none; spränge evtl. der Inhalt der Seite) oder man könnte die Schriftfarbe ändern, um den Text sichtbar zu halten, aber anzuzeigen, dass er "überholt" ist, sich auf etwas Erledigtes bezieht.

        Man kann sich natürlich auch andere Sachen ausdenken und mehrere Möglichkeiten kombinieren.

        Tschö, Auge

        --
        Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
        Terry Pratchett, "Wachen! Wachen!"
        Veranstaltungsdatenbank Vdb 0.3
        1. Du kannst in einer eigenen DB-Tabelle speichern, ob an einem bestimmten Tag das Generieren und der Versand geklappt haben. Diese Information kannst du auf einer Seite benutzen um eine entsprechende Ausgabe zu realisieren.

          ...ich glaube Du hast mich falsch verstanden.
          Wenn ich die Seite mit der "AmpelAnzeige" über längere Zeit geöffnet habe, ändert sich doch nicht der Status der Anzeige wenn ein Koll. einen Datesatz versendet, oder?
          Um einen aktuellen Anzeige-Status zu erhalten muß doch die Seite regelmäßig aktualisiert werden, oder?

          1. Hallo

            Du kannst in einer eigenen DB-Tabelle speichern, ob an einem bestimmten Tag das Generieren und der Versand geklappt haben. Diese Information kannst du auf einer Seite benutzen um eine entsprechende Ausgabe zu realisieren.

            ...ich glaube Du hast mich falsch verstanden.

            Offensichtlich

            Wenn ich die Seite mit der "AmpelAnzeige" über längere Zeit geöffnet habe, ändert sich doch nicht der Status der Anzeige wenn ein Koll. einen Datesatz versendet, oder?

            Nein, nicht von selbst.

            Um einen aktuellen Anzeige-Status zu erhalten muß doch die Seite regelmäßig aktualisiert werden, oder?

            Entweder muss die Seite neu geladen werden, oder du schickst mit Ajax/JavaScript[1] regelmäßig eine Anfrage an ein Skript auf dem Server, dass nach neuen Einträgen fragt und dieses Ergebnis an das Ajax-Skript zurückgibt. Mit dem Ergebnis kannst du bei Bedarf den Inhalt der Seite manipulieren.

            [1] Das Ganze klingt für mich nach einer Intranetanwendung, in der die benutzbaren Techniken feststehen. Wenn JavaScript nicht zur Verfügung stehen sollte oder nicht mit Gewissheit vorausgesetzt werden kann, fällt mein Ajax-Ansatz natürlich flach bzw. ist er ein Zusatzfeature.

            Tschö, Auge

            --
            Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
            Terry Pratchett, "Wachen! Wachen!"
            Veranstaltungsdatenbank Vdb 0.3
            1. [1] Das Ganze klingt für mich nach einer Intranetanwendung, in der die benutzbaren Techniken feststehen. Wenn JavaScript nicht zur Verfügung stehen sollte oder nicht mit Gewissheit vorausgesetzt werden kann, fällt mein Ajax-Ansatz natürlich flach bzw. ist er ein Zusatzfeature.

              ...ja!
              Bisher kannte ich "Ajax" nur als Reinigungsmittel, mal schauen ob ich noch was dazu lernen kann.

              Danke erstmal!
              Gruß

              1. Hallo

                Bisher kannte ich "Ajax" nur als Reinigungsmittel, mal schauen ob ich noch was dazu lernen kann.

                Ein wenig Lesestoff zum angewöhnen: Wikipedia Asynchronous JavaScript and XML

                Tschö, Auge

                --
                Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
                Terry Pratchett, "Wachen! Wachen!"
                Veranstaltungsdatenbank Vdb 0.3
      2. Hello,

        Dazu auch gleich noch 'ne Frage:
        Mit diesem Formular werden am Tag mehrere Einträge vorgenommen.
        Wenn Form versendet kommt die Anzeige "Der Datensatz wurde hinzugefügt!" das ist soweit o.k.
        Gibt es eine Möglichkeit die Anzeige zu löschen wenn ein erneuter Eintrag in ein Formularfeld erzeugt wird?

        Die gäbe es clientseitig mit JavaScript.

        Aber mit einem anderen Konzept für die Vorgangsbearbeitung ginge es auch:

        Browser                     Aktion                            Server

        leeres Browserfenster   ->  url eintippen und absenden    ->  empfängt GET-Request und
          zeigt leeres Form an    <-  stellt leeres Formular        <-
                                        zur Verfüngung
                                  ->  Benutzer füllt aus und sendet ->  empfängt Daten und verarbeitet
          zeigt Erfolgsmeldung an <-  sendet Erfolgsmeldung <-
          Usaer fordert erneut    ->  und sendet diesen z.B. als    ->  Server empfängt diesen und
            leeres Formular an           POST-Request
                                  <-  stellt leeres Formular        <-
                                        zur Verfügung

        Im Wechselspiel eines im  Client-Server-Umfeld abgewickelten Vorganges ist die Meldungsseite also eine eigene Seite OHNE Formular, aber mit kontextspezifischen Auswahlmöglichkeiten (Buttons, Links)

        Man könnte die eingegebenen Daten auf der Meldungsseite auch in druckfähiger Formatierung nochmnals wiederholen, sozusagen als Quittung für den Bearbeiter.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de