Suche einfache (webbasierte) Stempeluhr mit Exportfunktion
Hallo liebe Mitstreiter,
die Forensuche und natürlich Google habe ich bereits bemüht, bin aber über nichts wirklich brauchbares gestolpert - vielleicht habt ihr einen Tipp.
Ich suche, um unsere sterbende CHIPDRIVE-Zeiterfassung (Stempeluhr mit Chipkarten) zu ersetzen eine einfach gehaltene, idealerweise webbasierte (allerdings auf lokalem Webserver) Stempeluhr-/Zeiterfassungs-Software. Sonst auch als Windows-Anwendung die auf einem Terminalserver läuft.
Dabei sollte im Idealfall die GUI so einfach wie möglich gehalten sein - man wählt den jeweiligen Benutzer aus, drückt auf "Kommt", "Geht" oder "Pause", bekommt den Stempelvorgang auf dem Display quittiert und gut. Die Zeiten sollten sich idealerweise einigermaßen gut lesbar exportieren lassen. Nett wäre z.B. auch, dass sich der jeweilige User eine Statistik seiner Zeiten ansehen kann.
Als Hardwarelösung hätte ich mir einen SBC (Raspberry PI oder vergleichbares) per Vesa-Mount an ein TFT mit Touchscreen vorgestellt, die Konstruktion in Türnähe an die Wand geschraubt.
Schön wäre eine kostenlose/OpenSource-Lösung, die man eventuell noch an persönliche Bedürfnisse anpassen kann.
Habt ihr eine Idee?
Dankeschön und ein sonniges Wochenende,
MOS6581
die Forensuche und natürlich Google habe ich bereits bemüht, bin aber über nichts wirklich brauchbares gestolpert - vielleicht habt ihr einen Tipp.
Ich suche, um unsere sterbende CHIPDRIVE-Zeiterfassung (Stempeluhr mit Chipkarten) zu ersetzen eine einfach gehaltene, idealerweise webbasierte (allerdings auf lokalem Webserver) Stempeluhr-/Zeiterfassungs-Software. Sonst auch als Windows-Anwendung die auf einem Terminalserver läuft.
Dabei sollte im Idealfall die GUI so einfach wie möglich gehalten sein - man wählt den jeweiligen Benutzer aus, drückt auf "Kommt", "Geht" oder "Pause", bekommt den Stempelvorgang auf dem Display quittiert und gut. Die Zeiten sollten sich idealerweise einigermaßen gut lesbar exportieren lassen. Nett wäre z.B. auch, dass sich der jeweilige User eine Statistik seiner Zeiten ansehen kann.
Als Hardwarelösung hätte ich mir einen SBC (Raspberry PI oder vergleichbares) per Vesa-Mount an ein TFT mit Touchscreen vorgestellt, die Konstruktion in Türnähe an die Wand geschraubt.
Schön wäre eine kostenlose/OpenSource-Lösung, die man eventuell noch an persönliche Bedürfnisse anpassen kann.
Habt ihr eine Idee?
Dankeschön und ein sonniges Wochenende,
MOS6581
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 313637
Url: https://administrator.de/contentid/313637
Ausgedruckt am: 21.11.2024 um 16:11 Uhr
67 Kommentare
Neuester Kommentar
Hallo,
mal abgesehen von einer Lösung - die ich dir jetzt nicht bieten kann - aber wo genau ist denn bei deiner Lösung die Sicherheit gegeben, dass nicht jeder x-beliebige einen User auswählen kann und einen deiner 3 genannten Optionen drückt. Wie authentisieren sich die User?
Oder ist das nur eine kleine Firma wo das keine Rolle spielt? Dann vergiss meine Frage bitte wieder
Gruß
mal abgesehen von einer Lösung - die ich dir jetzt nicht bieten kann - aber wo genau ist denn bei deiner Lösung die Sicherheit gegeben, dass nicht jeder x-beliebige einen User auswählen kann und einen deiner 3 genannten Optionen drückt. Wie authentisieren sich die User?
Oder ist das nur eine kleine Firma wo das keine Rolle spielt? Dann vergiss meine Frage bitte wieder
Gruß
Mit einem ähnlichen Hintergrund (vorhandene Stechuhr gibt den Geist auf) habe ich seit fast einem Jahr bei uns Smalltime im Einsatz. Um es den Mitarbeitern so einfach wie möglich zu machen habe ich dann noch eine App erstellt.
Im Ergebnis muss jeder Mitarbeiter jetzt auf einem an die Wand montierten Tablet nur noch auf einen Button tippen und seine persönliche Karte (auf der sich ein QR-Code befindet) vor die Kamera halten. Das wars.
Läuft wie gesagt seit fast einem Jahr störungsfrei mit etwa 60 Personen die täglich stempeln.
Bei Interesse stelle ich die App sowie die Anpassungen in Smalltime selbst gerne gegen eine kleine Spende via Amazon-Wunschliste zur Verfügung. Ich baue dann auch noch euer Firmenlogo ein
Manuel
Im Ergebnis muss jeder Mitarbeiter jetzt auf einem an die Wand montierten Tablet nur noch auf einen Button tippen und seine persönliche Karte (auf der sich ein QR-Code befindet) vor die Kamera halten. Das wars.
Läuft wie gesagt seit fast einem Jahr störungsfrei mit etwa 60 Personen die täglich stempeln.
Bei Interesse stelle ich die App sowie die Anpassungen in Smalltime selbst gerne gegen eine kleine Spende via Amazon-Wunschliste zur Verfügung. Ich baue dann auch noch euer Firmenlogo ein
Manuel
Da ich nicht weiß, was Du gefunden hast stelle ich Dir drei vor:
http://zeiterfassung.npage.de/
https://sourceforge.net/projects/opentimetool/
http://www.clockingit.com/ (interessant, aber Du musst den Code von github klonen)
http://zeiterfassung.npage.de/
https://sourceforge.net/projects/opentimetool/
http://www.clockingit.com/ (interessant, aber Du musst den Code von github klonen)
Hallo MOS6581,
die verlinkten Vorschläge der Kollegen habe ich mir nicht angesehen, vielleicht ist ja schon das Passende dabei.
Mein Vorschlag für eine (fremd)kostenlose Lösung wäre es selbst zu machen.
Das wäre für Dich Open-Source und ganz besonders auf Deine persönlichen Bedürfnisse angepasst.
Die Aufgabenstellung klingt so schlicht, dass die Grundfunktionalität mit Apache/MySQL/PHP innerhalb eines Tages zu erreichen wäre, vorausgesetzt Du hast ein paar Grundkenntnisse in dem Bereich.
Du hättest am Tür-Touch-Rechner eine Web-GUI, die eine kleine Datendank (User und Zeiten) füllt und eine weitere Web-GUI im Intranet (LAN) an der jeder die Datenbank abfragen kann.
Die Web-GUI im Intranet hätte einen einfachen User-Login, damit Mitarbeiter (nur) ihre eigene Statistik einsehen können und der Admin auf alle Statistiken Zugriff hat und ein Datenexport machen kann.
Das Exportformat könnte beispielsweise CSV sein, was Du anschließend prima verexceln könntest.
Falls Dich das interessiert, könnte ich Dir beim Konzeptieren behilflich sein und könnte Dir auch eine paar Codebeispiele zukommen lassen auf die Du aufbauen könntest.
Gruß Frank
Zitat von @MOS6581
Schön wäre eine kostenlose/OpenSource-Lösung, die man eventuell noch an persönliche Bedürfnisse anpassen kann.
Schön wäre eine kostenlose/OpenSource-Lösung, die man eventuell noch an persönliche Bedürfnisse anpassen kann.
die verlinkten Vorschläge der Kollegen habe ich mir nicht angesehen, vielleicht ist ja schon das Passende dabei.
Mein Vorschlag für eine (fremd)kostenlose Lösung wäre es selbst zu machen.
Das wäre für Dich Open-Source und ganz besonders auf Deine persönlichen Bedürfnisse angepasst.
Die Aufgabenstellung klingt so schlicht, dass die Grundfunktionalität mit Apache/MySQL/PHP innerhalb eines Tages zu erreichen wäre, vorausgesetzt Du hast ein paar Grundkenntnisse in dem Bereich.
Du hättest am Tür-Touch-Rechner eine Web-GUI, die eine kleine Datendank (User und Zeiten) füllt und eine weitere Web-GUI im Intranet (LAN) an der jeder die Datenbank abfragen kann.
Die Web-GUI im Intranet hätte einen einfachen User-Login, damit Mitarbeiter (nur) ihre eigene Statistik einsehen können und der Admin auf alle Statistiken Zugriff hat und ein Datenexport machen kann.
Das Exportformat könnte beispielsweise CSV sein, was Du anschließend prima verexceln könntest.
Falls Dich das interessiert, könnte ich Dir beim Konzeptieren behilflich sein und könnte Dir auch eine paar Codebeispiele zukommen lassen auf die Du aufbauen könntest.
Gruß Frank
@Pedant, dein Vorschlag gefällt mir sehr gut. Möchte auch gerne mal sowas basteln und hab da auch schon seit einiger Zeit was im Hinterkopf. Würdest du mir die Codebeispiele evtl. auch zur Verfügung stellen?
Gruß
Alex
Gruß
Alex
Hallo MOS,
war ein potentieller Einwurf - die Smartphone Akzeptanz wird schliesslich nicht geringer und der Beitrag besteht schliesslich länger.
Hast du dir schonmal - ganz simpel - ReinerSCT angeschaut? Ist zwar weder webbasiert noch OS, aber funktional seit 10? Jahren am Markt und definitiv ein simples System und die Entwicklung etwas eigenen dürfte - je nach Anwenderzahl - in ähnlichen Regionen liegen.
Schönen Start in die Woche,
Christian
war ein potentieller Einwurf - die Smartphone Akzeptanz wird schliesslich nicht geringer und der Beitrag besteht schliesslich länger.
Hast du dir schonmal - ganz simpel - ReinerSCT angeschaut? Ist zwar weder webbasiert noch OS, aber funktional seit 10? Jahren am Markt und definitiv ein simples System und die Entwicklung etwas eigenen dürfte - je nach Anwenderzahl - in ähnlichen Regionen liegen.
Schönen Start in die Woche,
Christian
Wie oben erwähnt, ELV Timemaster. So sieht die Client Software aus:
http://www.elv-zeiterfassung.de/images/stories/pcterminal2.gif
Ich vermute aber das andere Software besser zu euch passt.
http://www.elv-zeiterfassung.de/images/stories/pcterminal2.gif
Ich vermute aber das andere Software besser zu euch passt.
Hallo Alex,
klar würde ich auch Dir die Codebeispiele geben.
Ich habe angefangen zu sichten was dafür in Frage käme.
Lass mir noch ein paar Tage Zeit, da ich das gerne noch etwas aussortieren und vorkauen möchte.
Wenn ich soweit bin, werde ich es irgendwohin hochladen und hier einen Link dazu posten.
@MOS6581
Wozu Pause?
"Pause" wäre dazu da anzeigen, dass ein Mitarbeiter zwar im Haus ist, aber gerade nicht zur Verfügung steht.
Für die Arbeitszeiten macht es aber keinen Unterschied, ob der Mitarbeiter weg ist oder gerade nur Pause macht.
In der Statistik reicht es, wenn für den Mitarbeiter nur die Arbeitszeiten gespeichert und exportiert werden, beispielsweise:
Die Stempelaktionen wären dabei:
Ob der Mitarbeiter um 12:00 Uhr "Pause" oder "Geht" gestempelt hatte, muss nicht als Information erhalten bleiben.
Sehe ich das richtig oder ist "Pause" auch im Nachhinein noch interessant?
Gruß Frank
klar würde ich auch Dir die Codebeispiele geben.
Ich habe angefangen zu sichten was dafür in Frage käme.
Lass mir noch ein paar Tage Zeit, da ich das gerne noch etwas aussortieren und vorkauen möchte.
Wenn ich soweit bin, werde ich es irgendwohin hochladen und hier einen Link dazu posten.
@MOS6581
Wozu Pause?
"Pause" wäre dazu da anzeigen, dass ein Mitarbeiter zwar im Haus ist, aber gerade nicht zur Verfügung steht.
Für die Arbeitszeiten macht es aber keinen Unterschied, ob der Mitarbeiter weg ist oder gerade nur Pause macht.
In der Statistik reicht es, wenn für den Mitarbeiter nur die Arbeitszeiten gespeichert und exportiert werden, beispielsweise:
31.08.2016: 08:00 - 12:00 und 13:00 - 17:00
Die Stempelaktionen wären dabei:
08:00 Uhr - [Kommt]
12:00 Uhr - [Pause] oder [Geht]
13:00 Uhr - [Kommt]
17:00 Uhr - [Geht]
Ob der Mitarbeiter um 12:00 Uhr "Pause" oder "Geht" gestempelt hatte, muss nicht als Information erhalten bleiben.
Sehe ich das richtig oder ist "Pause" auch im Nachhinein noch interessant?
Gruß Frank
Hallo Alex, Hallo andere Interessierte,
als ich anfing Skripte rauszusuchen, die als Beispiel dienen können, fing ich auch an zu überlegen, wie so eine Zeiterfassung tatsächlich aufgebaut sein müsste.
Ich erstellte eine Datenbank mit entsprechenden Tabellen und schrieb die ersten Abfragen, die ich dann in die Beispielskripte einsetzte.
Die Skripte, die dann auf die neue Datenbank zugriffen, erst einmal in den Fingern, schrieb ich dann passend um, dabei kamen dann Funktionsumfangsideen, die es auszuprobieren galt und so kam Eins zu Anderen.
Das Ende vom Lied, ich hab die Zeiterfassung fertig geschrieben.
Fertig heißt, alle Funktionalitäten sind vorhanden, aber nicht bis ins Detail getestet.
Da an meinem Arbeitsplatz kein Zeiterfassungssystem erwünscht ist, ergibt sich dort keine Gelegenheit für einen Praxistest.
Es sind bestimmt noch einige Bugs zum Basteln übrig.
Für alle Leser und für spätere Quereinsteiger dieses Threads:
Es sei hier unbedingt erwähnt, dass ich weder für Apache oder MySQL noch für PHP ein Spezialist bin.
Ich bin auch nur einer der damit bastelt und froh ist wenn es scheinbar tut was es soll.
Zu behaupten, ich hätte eine professionelles "Zeiterfassungssystem" entworfen und programmiert wäre falsch, im Rahmen meiner Möglichkeiten habe ich mir aber Mühe gegeben und es ist etwas Brauchbares dabei rausgekommen.
Ob es den persönlichen oder arbeitsrechtlichen Anforderungen genügt - keine Ahnung.
Es sind aber nur Skripte, die sich spätestens mit [Strg]+[A] [Enft] als Basis für etwas Besseres nutzen lassen.
Funktionsumfang
- Datenbank 'zeiterfassung' (Tabellen: users, rechte, zeiten)
- Stempeluhroberfläche (Touchscreen und Browser im Kioskmode empfielt sich)
(Direkt an der Stempeluhr könnte jeder für jeden stempeln, also ohne Benutzerauthentifizierung)
- Benutzerlogin für Browserzugriff auf's System
- Benutzerverwaltung
- Zugriffsrechte verwalten
- Zeiten editieren/löschen/hinzufügen
- Individuelle Zeitentabellen ausgeben
- Exportmodul (csv)
- Datenbankverwaltung (Backup/Restore)
- Ein winziges "PHPMyAdmin"
- Der "Witz des Tages" (zumindest der freiwillige) fehlt allerdings
Das Ganze basiert auf php und MySQL in diesen Versionen:
Apache 2.2.11 (Win32)
MySQL 5.1.34-community
PHP 5.2.10
Die sind alle schon relativ alt.
Inwieweit es mit anderen Versionen auch funktioniert, kann ich nicht abschätzen.
Ich habe an diversen Stellen Abfragen eingebaut, die dafür sorgen sollen, dass Mitarbeiter an der Stempeluhr oder im Browser nur machen können, was man ihnen rechtemäßig zugestanden hat.
Das System ist aber ganz sicher nicht wasserdicht. Es wird noch einige Schlupflöscher geben, die Manipulation oder Sabotage zulassen.
Aufgabenstellung war aber ohnehin eine Zeiterfassung für einen kleinen Betrieb, in dem Vertrauenswürdigkeit vorausgesetzt werden darf.
Wie performant und stabil das Ganze mit großen Datenmengen laufen würde, habe ich auch nicht ausprobiert.
Falls ein neues Windows-System aufgesetzt wird, um die Zeiterfassung darauf laufenzulassen, habe ich dafür ein vorkonfiguriertes Apache/MySQL/PHP-Paket zusammengestellt.
Einerseits, weil es bequem ist und andererseits, weil die Versionen alle schon recht alt sind und somit eventuell schwer zu finden sein könnten.
Es kann einfach auf das System kopiert und die Dienste gestartet werden.
http://www.pedant.de/html/download.php?datei=serverprogrammesetup (58,5 MB)
Eine einfache Installations-/Deinstallation-Anleitung ist enthalten, aber auch hier einzeln einsehbar:
http://www.pedant.de/html/download.php?datei=serverprogrammesetupreadme
Schicker, besser, sicherer wäre es natürlich aktuelle Versionen zu nehmen und die Skripte notfalls anzupassen.
Nur das Zeiterfassungssystem (php-Skripte usw.) liegt hier:
http://www.pedant.de/html/download.php?datei=zeiterfassungwebordner& ... (1,92 MB)
(Inklusive einer Beispieldatenbank zum Testen und einer leeren Datenbank zum Arbeiten)
Die beiden Datenbanken-Varianten liegen als SQL-Dateien mit im Zip im Unterordner "sicherungen".
In jeder php-Datei habe ich oben einen Kommentar abgelegt, der Aufschluss geben soll, wozu die jeweilige Datei gedacht ist, ansonsten sind diverse Abschnitte in den Skripten auch noch kommentiert, aber nicht vollständig dokumentiert.
Zur Vorgehensweise bein Ausprobieren:
1. Skript-Ordner ins Webroot kopieren
2. Datenbank (SQL-Datei) importieren
3.
4.
5. Seite aufrufen und mit admin / geheim anmelden
6. Ausprobieren was so alles geht
Ein Hinweis zu meinem php-Schreibstil:
Statt der Kurzform von If-Abfragen
verwende ich immer die Langform
Ebenso mache ich es immer "ausführlich", wenn ich Variablen im echo nutze:
Also statt
schreibe ich
Beide Punkte darf man umständlich finden, ich mach es halt so und finde es für mich übersichtlicher und leichter zu ergänzen, wenn es doch komplexer wird als angenommen.
Das wollte ich nur erwähnen und keinen off-topic php-Laber-Thread eröffnen.
Noch eine allgemeine Anmerkung zur Stempeluhr:
Bei meiner Stempeluhr, kann jeder an der Stempeluhr (und nur dort) den Anwesenheitsstatus aller Mitarbeiter einsehen.
Vorausgesetzt entsprechende Rechte wurden zugeteilt, können Mitarbeiter auch über ihren Webbrowser den Anwesenheitsstatus oder gar die Arbeitszeiten der Anderen einsehen.
Eine plakative Übersichtsseite, die auf einen Blick anzeigt, wer im Moment arbeitet und wer nicht, habe ich bewusst nicht erstellt, da nicht immer jede Information, jederzeit, für jeden verfügbar sein sollte.
Auch die Arbeitszeiten anderer sollten nur dem Systemadmin und denen zugänglich sein, die diese verarbeiten müssen und das ist nicht der Abteilungsleiter oder der Chef, sondern der Buchhalter.
"Herr Schmitt, Sie waren schon wieder 3 Minuten zu spät."
"Der Kollege Müller macht übrigens immer 5 Minuten länger Mittagspause."
Auch wenn's stimmen würde, man muss es nicht jedem vor die Nase halten.
Wen's interessiert, der soll's alleine rausbekommen.
Meine Bringschuld, die versprochenen Beispiel-Skripte zu liefern, betrachte ich hiermit als beglichen.
Für Rückfragen stehe ich zur Verfügung, allerdings, je nach Umfang, vielleicht nicht unbedingt in diesem Thread.
Die Nutzung, der hier von mir angebotenen Skripte und/oder Programme, erfolgt natürlich auf eigene Verantwortung des Nutzers.
Ich verspreche lediglich, dass ich dort nichts Hinterlistiges oder Bösartiges vorsätzlich eingebaut habe.
Gruß Frank
Zitat von @Pedant
klar würde ich auch Dir die Codebeispiele geben.
Ich habe angefangen zu sichten was dafür in Frage käme.
Lass mir noch ein paar Tage Zeit, da ich das gerne noch etwas aussortieren und vorkauen möchte.
Wenn ich soweit bin, werde ich es irgendwohin hochladen und hier einen Link dazu posten.
klar würde ich auch Dir die Codebeispiele geben.
Ich habe angefangen zu sichten was dafür in Frage käme.
Lass mir noch ein paar Tage Zeit, da ich das gerne noch etwas aussortieren und vorkauen möchte.
Wenn ich soweit bin, werde ich es irgendwohin hochladen und hier einen Link dazu posten.
als ich anfing Skripte rauszusuchen, die als Beispiel dienen können, fing ich auch an zu überlegen, wie so eine Zeiterfassung tatsächlich aufgebaut sein müsste.
Ich erstellte eine Datenbank mit entsprechenden Tabellen und schrieb die ersten Abfragen, die ich dann in die Beispielskripte einsetzte.
Die Skripte, die dann auf die neue Datenbank zugriffen, erst einmal in den Fingern, schrieb ich dann passend um, dabei kamen dann Funktionsumfangsideen, die es auszuprobieren galt und so kam Eins zu Anderen.
Das Ende vom Lied, ich hab die Zeiterfassung fertig geschrieben.
Fertig heißt, alle Funktionalitäten sind vorhanden, aber nicht bis ins Detail getestet.
Da an meinem Arbeitsplatz kein Zeiterfassungssystem erwünscht ist, ergibt sich dort keine Gelegenheit für einen Praxistest.
Es sind bestimmt noch einige Bugs zum Basteln übrig.
Zitat von @Pedant
Die Aufgabenstellung klingt so schlicht, dass die Grundfunktionalität mit Apache/MySQL/PHP innerhalb eines Tages zu erreichen wäre, vorausgesetzt Du hast ein paar Grundkenntnisse in dem Bereich.
Wenn ich nochmal so einen Unsinn bezüglich des Zeitbedarfs schreibe, bitte ich um eine offizielle Ermahnung.Die Aufgabenstellung klingt so schlicht, dass die Grundfunktionalität mit Apache/MySQL/PHP innerhalb eines Tages zu erreichen wäre, vorausgesetzt Du hast ein paar Grundkenntnisse in dem Bereich.
Für alle Leser und für spätere Quereinsteiger dieses Threads:
Es sei hier unbedingt erwähnt, dass ich weder für Apache oder MySQL noch für PHP ein Spezialist bin.
Ich bin auch nur einer der damit bastelt und froh ist wenn es scheinbar tut was es soll.
Zu behaupten, ich hätte eine professionelles "Zeiterfassungssystem" entworfen und programmiert wäre falsch, im Rahmen meiner Möglichkeiten habe ich mir aber Mühe gegeben und es ist etwas Brauchbares dabei rausgekommen.
Ob es den persönlichen oder arbeitsrechtlichen Anforderungen genügt - keine Ahnung.
Es sind aber nur Skripte, die sich spätestens mit [Strg]+[A] [Enft] als Basis für etwas Besseres nutzen lassen.
Funktionsumfang
- Datenbank 'zeiterfassung' (Tabellen: users, rechte, zeiten)
- Stempeluhroberfläche (Touchscreen und Browser im Kioskmode empfielt sich)
(Direkt an der Stempeluhr könnte jeder für jeden stempeln, also ohne Benutzerauthentifizierung)
- Benutzerlogin für Browserzugriff auf's System
- Benutzerverwaltung
- Zugriffsrechte verwalten
- Zeiten editieren/löschen/hinzufügen
- Individuelle Zeitentabellen ausgeben
- Exportmodul (csv)
- Datenbankverwaltung (Backup/Restore)
- Ein winziges "PHPMyAdmin"
- Der "Witz des Tages" (zumindest der freiwillige) fehlt allerdings
Das Ganze basiert auf php und MySQL in diesen Versionen:
Apache 2.2.11 (Win32)
MySQL 5.1.34-community
PHP 5.2.10
Die sind alle schon relativ alt.
Inwieweit es mit anderen Versionen auch funktioniert, kann ich nicht abschätzen.
Ich habe an diversen Stellen Abfragen eingebaut, die dafür sorgen sollen, dass Mitarbeiter an der Stempeluhr oder im Browser nur machen können, was man ihnen rechtemäßig zugestanden hat.
Das System ist aber ganz sicher nicht wasserdicht. Es wird noch einige Schlupflöscher geben, die Manipulation oder Sabotage zulassen.
Aufgabenstellung war aber ohnehin eine Zeiterfassung für einen kleinen Betrieb, in dem Vertrauenswürdigkeit vorausgesetzt werden darf.
Wie performant und stabil das Ganze mit großen Datenmengen laufen würde, habe ich auch nicht ausprobiert.
Falls ein neues Windows-System aufgesetzt wird, um die Zeiterfassung darauf laufenzulassen, habe ich dafür ein vorkonfiguriertes Apache/MySQL/PHP-Paket zusammengestellt.
Einerseits, weil es bequem ist und andererseits, weil die Versionen alle schon recht alt sind und somit eventuell schwer zu finden sein könnten.
Es kann einfach auf das System kopiert und die Dienste gestartet werden.
http://www.pedant.de/html/download.php?datei=serverprogrammesetup (58,5 MB)
Eine einfache Installations-/Deinstallation-Anleitung ist enthalten, aber auch hier einzeln einsehbar:
http://www.pedant.de/html/download.php?datei=serverprogrammesetupreadme
Schicker, besser, sicherer wäre es natürlich aktuelle Versionen zu nehmen und die Skripte notfalls anzupassen.
Nur das Zeiterfassungssystem (php-Skripte usw.) liegt hier:
http://www.pedant.de/html/download.php?datei=zeiterfassungwebordner& ... (1,92 MB)
(Inklusive einer Beispieldatenbank zum Testen und einer leeren Datenbank zum Arbeiten)
Die beiden Datenbanken-Varianten liegen als SQL-Dateien mit im Zip im Unterordner "sicherungen".
In jeder php-Datei habe ich oben einen Kommentar abgelegt, der Aufschluss geben soll, wozu die jeweilige Datei gedacht ist, ansonsten sind diverse Abschnitte in den Skripten auch noch kommentiert, aber nicht vollständig dokumentiert.
Zur Vorgehensweise bein Ausprobieren:
1. Skript-Ordner ins Webroot kopieren
2. Datenbank (SQL-Datei) importieren
3.
config.php
- dort $hauptordnerwebpfad
gegebenenfalls anpassen4.
connect.php
- dort Datenbank-Zugriffsdaten gegebenenfalls anpassen5. Seite aufrufen und mit admin / geheim anmelden
6. Ausprobieren was so alles geht
Ein Hinweis zu meinem php-Schreibstil:
Statt der Kurzform von If-Abfragen
echo (true) ? "Ja" : "Nein";
verwende ich immer die Langform
if (true) {echo "Ja";} else {echo "Nein";};
Ebenso mache ich es immer "ausführlich", wenn ich Variablen im echo nutze:
Also statt
$obst="äpfel"; echo "ich esse $obst gern";
schreibe ich
$obst="äpfel"; echo "ich esse ".$obst." gern";
Beide Punkte darf man umständlich finden, ich mach es halt so und finde es für mich übersichtlicher und leichter zu ergänzen, wenn es doch komplexer wird als angenommen.
Das wollte ich nur erwähnen und keinen off-topic php-Laber-Thread eröffnen.
Noch eine allgemeine Anmerkung zur Stempeluhr:
Bei meiner Stempeluhr, kann jeder an der Stempeluhr (und nur dort) den Anwesenheitsstatus aller Mitarbeiter einsehen.
Vorausgesetzt entsprechende Rechte wurden zugeteilt, können Mitarbeiter auch über ihren Webbrowser den Anwesenheitsstatus oder gar die Arbeitszeiten der Anderen einsehen.
Eine plakative Übersichtsseite, die auf einen Blick anzeigt, wer im Moment arbeitet und wer nicht, habe ich bewusst nicht erstellt, da nicht immer jede Information, jederzeit, für jeden verfügbar sein sollte.
Auch die Arbeitszeiten anderer sollten nur dem Systemadmin und denen zugänglich sein, die diese verarbeiten müssen und das ist nicht der Abteilungsleiter oder der Chef, sondern der Buchhalter.
"Herr Schmitt, Sie waren schon wieder 3 Minuten zu spät."
"Der Kollege Müller macht übrigens immer 5 Minuten länger Mittagspause."
Auch wenn's stimmen würde, man muss es nicht jedem vor die Nase halten.
Wen's interessiert, der soll's alleine rausbekommen.
Meine Bringschuld, die versprochenen Beispiel-Skripte zu liefern, betrachte ich hiermit als beglichen.
Für Rückfragen stehe ich zur Verfügung, allerdings, je nach Umfang, vielleicht nicht unbedingt in diesem Thread.
Die Nutzung, der hier von mir angebotenen Skripte und/oder Programme, erfolgt natürlich auf eigene Verantwortung des Nutzers.
Ich verspreche lediglich, dass ich dort nichts Hinterlistiges oder Bösartiges vorsätzlich eingebaut habe.
Gruß Frank
Hallo MOS,
es freut mich, dass meine Stempeluhr eventuell doch zum Einsatz kommt.
Ich kann also nicht mit Sicherheit sagen, ob die ganzen Berechnungen immer zu richtigen Ergebnissen führen.
Würdest Du die Quelle preisgeben, damit wir mitlachen können?
Gruß Frank
es freut mich, dass meine Stempeluhr eventuell doch zum Einsatz kommt.
Zitat von @MOS6581
Als Fallback hängt momentan noch die alte Stempeluhr darunter, sollte irgendwas sein.
Das solltest Du noch eine Weile so belassen, da meine Stempeluhr noch keinerlei Felderfahrung hat und ich sie auch nicht auf Herz und Nieren geprüft habe, da es für mich ein Spaßprojekt war und keine Auftragsarbeit.Als Fallback hängt momentan noch die alte Stempeluhr darunter, sollte irgendwas sein.
Ich kann also nicht mit Sicherheit sagen, ob die ganzen Berechnungen immer zu richtigen Ergebnissen führen.
Zitat von @MOS6581
Der Witz des Tages ist ein kleines Gimmick, welches ich auf (mehrfacher!) Anfrage eingebaut habe, die Witze kommen aus dem Internet und sind dementsprechend... hochwertig
Das müsstest Du natürlich noch nachrüsten.Der Witz des Tages ist ein kleines Gimmick, welches ich auf (mehrfacher!) Anfrage eingebaut habe, die Witze kommen aus dem Internet und sind dementsprechend... hochwertig
Würdest Du die Quelle preisgeben, damit wir mitlachen können?
Gruß Frank
Hallo MOS,
kleine Schlamperei meinerseits:
In der Datei account.php in der Zeile 174 fehlen die Anführungszeichen für der Wert $Bild_neu, daher wird er als Name eines (Unknown) column betrachtet und nicht als Zeichenfolge.
Du hattest ja Eingangs auch nach einer Lösung gefragt, die man eventuell noch an persönliche Bedürfnisse anpassen kann.
Gruß Frank
kleine Schlamperei meinerseits:
In der Datei account.php in der Zeile 174 fehlen die Anführungszeichen für der Wert $Bild_neu, daher wird er als Name eines (Unknown) column betrachtet und nicht als Zeichenfolge.
Falsch: $abfrage2="UPDATE users SET user_image = ".$Bild_neu." WHERE user_id = ".$editid;
Richtig: $abfrage2="UPDATE users SET user_image = \"".$Bild_neu."\" WHERE user_id = ".$editid;
Zitat von @MOS6581
Dürfte ich den Code eigentlich für meine Zwecke hier anpassen, sollten mir noch Dinge einfallen?
Selbstverständlich, dafür war's gedacht.Dürfte ich den Code eigentlich für meine Zwecke hier anpassen, sollten mir noch Dinge einfallen?
Du hattest ja Eingangs auch nach einer Lösung gefragt, die man eventuell noch an persönliche Bedürfnisse anpassen kann.
Gruß Frank
Hallo MOS,
irgendwie hat mich keine Benachrichtigung erreicht, dass es neue Antworten zu diesem Thema gab und ich habe sie erst soeben entdeckt.
Danke.
Im nachhinein ist das schwer abzuschätzen und während ich es schrieb hatte ich ja noch keine Stempeluhr um die Schreibzeiten zu dokumentieren.
Ich würde sagen, dass es zirka 50 Stunden waren.
Muss das tatsächlich innerhalb der Software passieren oder könnte man die statistischen Auswertungen nicht einfach ins Excel verlagern?
Zumindest hatte ich mir das so vorgestellt.
Die Buchhaltung macht einen Datenexport übers Webinterface und lädt die Daten dann in eine vorgekaute Excel ein, die die Auswertung übernimmt oder alternativ könnte die Export-CSV als externe Datenquelle im Excel verwenden oder von einem beliebigen anderen Tool ausgewertet werden.
Gruß Frank
irgendwie hat mich keine Benachrichtigung erreicht, dass es neue Antworten zu diesem Thema gab und ich habe sie erst soeben entdeckt.
Danke.
Im nachhinein ist das schwer abzuschätzen und während ich es schrieb hatte ich ja noch keine Stempeluhr um die Schreibzeiten zu dokumentieren.
Ich würde sagen, dass es zirka 50 Stunden waren.
Zitat von @MOS6581
nur müsste die Software anhand der Soll-Stunden des jeweiligen Mitarbeiters die Überstunden ausrechnen. Weiter muss sie Urlaubstage ausrechnen und Extra-Frei sowie Krank berücksichtigen...
...
Mein SQL-Praxiswissen ist recht beschränkt
nur müsste die Software anhand der Soll-Stunden des jeweiligen Mitarbeiters die Überstunden ausrechnen. Weiter muss sie Urlaubstage ausrechnen und Extra-Frei sowie Krank berücksichtigen...
...
Mein SQL-Praxiswissen ist recht beschränkt
Muss das tatsächlich innerhalb der Software passieren oder könnte man die statistischen Auswertungen nicht einfach ins Excel verlagern?
Zumindest hatte ich mir das so vorgestellt.
Die Buchhaltung macht einen Datenexport übers Webinterface und lädt die Daten dann in eine vorgekaute Excel ein, die die Auswertung übernimmt oder alternativ könnte die Export-CSV als externe Datenquelle im Excel verwenden oder von einem beliebigen anderen Tool ausgewertet werden.
Gruß Frank
Hallo,
nachträglich noch dazu von mir.
ReinerSCT Geräte kann man dazu aber auch benutzen!
Kontaktlose Zeiterfassung, Zugangskontrolle und PC Anmeldung alles mit einer RFID Karte oder aber auch mittels eines RFID
Transponders. Benutzen wir in unsrer Firma und fahren gut damit. Jeder kann nur in die Flure oder Etagen wo er auch Zugang
zu haben soll, die Zeiterfassung ist damit auch gleich erledigt und am PC kann sich auch keiner mehr das Passwort durch
Schultersurfen abgucken! Ideal für den Admin wenn er einmal vor Ort ist und wenn mal ein Mitarbeiter sein Passwort
vergessen hat oder bei Urlaubsvertretungen wenn es einmal schnell gehen muss.
Läuft alles lokal bei uns in der Firma und man kann sich nun auch einen Ausdruck machen lassen wie viele Überstunden
man hat und wer im Urlaub ist kann eben nicht in die Firma rein ist auch nicht schlecht zumindest bei uns.
Gruß
Dobby
nachträglich noch dazu von mir.
ReinerSCT Geräte kann man dazu aber auch benutzen!
Kontaktlose Zeiterfassung, Zugangskontrolle und PC Anmeldung alles mit einer RFID Karte oder aber auch mittels eines RFID
Transponders. Benutzen wir in unsrer Firma und fahren gut damit. Jeder kann nur in die Flure oder Etagen wo er auch Zugang
zu haben soll, die Zeiterfassung ist damit auch gleich erledigt und am PC kann sich auch keiner mehr das Passwort durch
Schultersurfen abgucken! Ideal für den Admin wenn er einmal vor Ort ist und wenn mal ein Mitarbeiter sein Passwort
vergessen hat oder bei Urlaubsvertretungen wenn es einmal schnell gehen muss.
Läuft alles lokal bei uns in der Firma und man kann sich nun auch einen Ausdruck machen lassen wie viele Überstunden
man hat und wer im Urlaub ist kann eben nicht in die Firma rein ist auch nicht schlecht zumindest bei uns.
Gruß
Dobby
Hallo Pedant,
habe deine tolle Lösung mal testweise installiert.
Funktioniert super, aber einen kleinen Fehler kann ich nicht finden:
Bei Auswahl des Datenfilter Mitarbeiter "alle (auch ohne Erfassung)" funktioniert das "speichern unter" nicht - bei "alle (nur mit)" dagegen sehr gut.
Mein PHP Know how reicht nicht, den Fehler zu finden. Hast Du einen Tipp für mich?
Gruß
Ben
habe deine tolle Lösung mal testweise installiert.
Funktioniert super, aber einen kleinen Fehler kann ich nicht finden:
Bei Auswahl des Datenfilter Mitarbeiter "alle (auch ohne Erfassung)" funktioniert das "speichern unter" nicht - bei "alle (nur mit)" dagegen sehr gut.
Mein PHP Know how reicht nicht, den Fehler zu finden. Hast Du einen Tipp für mich?
Gruß
Ben
Hallo Ben,
im Moment bin ich im Messevorbereitungsstress und habe leider nicht die Zeit nachzusehen was das Problem sein könnte.
Ich bin mir auch nicht sicher, ob das ein Bug ist oder Mitarbeiter-Daten (ohne Datenerfassung) einfach nicht exportiert werden sollten, weil es ja nichts zu exportieren gäbe.
Ich schau bei Gelegenheit nach, was der Export eigentlich macht und was ich mir dabei wohl gedacht haben mag.
Selbst nutzen tue ich es nicht, da bei uns keine Zeiterfassung erfolgt. Ich schrieb das "Programm" nur für diesen Thread und habe daher die Funktionalität nicht mehr wirklich in Sinn.
Falls ich mich nicht melde, dann hake bitte in zwei Wochen nochmal nach.
Gruß Frank
im Moment bin ich im Messevorbereitungsstress und habe leider nicht die Zeit nachzusehen was das Problem sein könnte.
Ich bin mir auch nicht sicher, ob das ein Bug ist oder Mitarbeiter-Daten (ohne Datenerfassung) einfach nicht exportiert werden sollten, weil es ja nichts zu exportieren gäbe.
Ich schau bei Gelegenheit nach, was der Export eigentlich macht und was ich mir dabei wohl gedacht haben mag.
Selbst nutzen tue ich es nicht, da bei uns keine Zeiterfassung erfolgt. Ich schrieb das "Programm" nur für diesen Thread und habe daher die Funktionalität nicht mehr wirklich in Sinn.
Falls ich mich nicht melde, dann hake bitte in zwei Wochen nochmal nach.
Gruß Frank
Hallo Ben,
...es hat mir dann doch keine Ruhe gelassen.
Es war ein simpler Fehler und er lag in dieser Datei:
D:\www\webroot\zeiterfassung\html\zeitenauswahl.php
in der Zeile 228.
Alt und falsch
Neu und korrigiert
Entweder fügst Du einfach an der entsprechenden Stelle das fehlende
(Beim Ersetzen gehen von Dir eventuell vorgenommene Anpassungen an den Skripten natürlich verloren.)
Gruß Frank
...es hat mir dann doch keine Ruhe gelassen.
Es war ein simpler Fehler und er lag in dieser Datei:
D:\www\webroot\zeiterfassung\html\zeitenauswahl.php
in der Zeile 228.
Alt und falsch
echo "\t\t\t\t\tif(mitarbeiterwert==\"alle\" || mitarbeiterwert==\"alle\") {namewert=\"Alle_Mitarbeiter\";}\n";
Neu und korrigiert
echo "\t\t\t\t\tif(mitarbeiterwert==\"alle\" || mitarbeiterwert==\"alleao\") {namewert=\"Alle_Mitarbeiter\";}\n";
Entweder fügst Du einfach an der entsprechenden Stelle das fehlende
ao
ein oder lädst Dir das Skriptpaket neu herunter und ersetzt die Datei oder den ganzen Ordner.(Beim Ersetzen gehen von Dir eventuell vorgenommene Anpassungen an den Skripten natürlich verloren.)
Gruß Frank
Hallo Frank,
ich bin gerade aus Frankreich zurück gekommen und habe erfreut fest gestellt, dass Du Dir trotz Messesstress die Mühe gemacht hast.
Ich danke Dir vielmals dafür.
Ich wäre sicher nicht darauf gestoßen.
Jetzt funktioniert die Liste für mich wie erhofft. So kann ich eine Excel-Auswertung "anbauen", da die MA immer in berechenbarer Position im Excel-Export erscheinen und Verknüpfungen somit leicht möglich sind.
Danke nochmals.
Gruß
Ben
ich bin gerade aus Frankreich zurück gekommen und habe erfreut fest gestellt, dass Du Dir trotz Messesstress die Mühe gemacht hast.
Ich danke Dir vielmals dafür.
Ich wäre sicher nicht darauf gestoßen.
Jetzt funktioniert die Liste für mich wie erhofft. So kann ich eine Excel-Auswertung "anbauen", da die MA immer in berechenbarer Position im Excel-Export erscheinen und Verknüpfungen somit leicht möglich sind.
Danke nochmals.
Gruß
Ben
Hallo mgrotjans,
ich habe die Datei zeiterfassung.php jetzt dahingehend geändert, dass in der Übersicht die Statusfarben angezeigt werden, sofern der User, der die Seite aufruft das Recht RemoteViewAll besitzt.
Dem Benutzer Stempeluhr sollte man dann dieses Recht eventuell entziehen.
Die geänderte Datei ist in diesem Paket enthalten.
(Alle anderen enthaltenen Dateien sind gegenüber der bisherigen Version des Pakets unverändert.)
Gruß Frank
ich habe die Datei zeiterfassung.php jetzt dahingehend geändert, dass in der Übersicht die Statusfarben angezeigt werden, sofern der User, der die Seite aufruft das Recht RemoteViewAll besitzt.
Dem Benutzer Stempeluhr sollte man dann dieses Recht eventuell entziehen.
Die geänderte Datei ist in diesem Paket enthalten.
(Alle anderen enthaltenen Dateien sind gegenüber der bisherigen Version des Pakets unverändert.)
Gruß Frank
Hallo,
auch einen Herzlichen Dank von mir.
Habe noch einen kleinen Fehler gefunden
wenn man ein Bild Anlegen oder ändern will kommt eine Fehlermeldung
Fehler in Script
http://localhost/zeiterfassung/html/account.php
Abbruch in Zeile 175
Meldung:
Unknown column 'user5.jpg' in 'field list'
ist der schon bekannt??
mfg Al-Bundy
auch einen Herzlichen Dank von mir.
Habe noch einen kleinen Fehler gefunden
wenn man ein Bild Anlegen oder ändern will kommt eine Fehlermeldung
Fehler in Script
http://localhost/zeiterfassung/html/account.php
Abbruch in Zeile 175
Meldung:
Unknown column 'user5.jpg' in 'field list'
ist der schon bekannt??
mfg Al-Bundy
Hallo Al-Bundy, Hallo mgrotjans,
ja, da haben zwei Fussel gefehlt.
Ich habe das jetzt auch im entsprechenden Paket korrigiert und hochgeladen
und im entsprechenden Beitrag den Link angepasst:
Suche einfache (webbasierte) Stempeluhr mit Exportfunktion
Man kann's also neu runterladen oder eben die Zeile wie von mgrotjans beschrieben schnell selbst korrigieren.
Danke für's Melden des Fehlers und für's Posten der Korrektur.
Gruß Frank
ja, da haben zwei Fussel gefehlt.
Ich habe das jetzt auch im entsprechenden Paket korrigiert und hochgeladen
und im entsprechenden Beitrag den Link angepasst:
Suche einfache (webbasierte) Stempeluhr mit Exportfunktion
Man kann's also neu runterladen oder eben die Zeile wie von mgrotjans beschrieben schnell selbst korrigieren.
Danke für's Melden des Fehlers und für's Posten der Korrektur.
Gruß Frank
Hallo,
Ja, es gibt allerdings ein paar Dinge zu beachten.
Das von mir verlinkte "serverprogrammesetup" enthält die Binaries für Windows.
Linux erfordert andere Binaries, die man irgendwo im Netz runterladen kann.
Die bei mir enthaltenen Konfigdateien (
Die Anleitung "serverprogrammesetupreadme" bezieht sich ebenfalls auf Windows, ist aber im übertragenen Sinne auch für Linux anwendbar.
Letztendlich sind die Programme apache, php und MySQL absolut üblich und es ist nicht nötig "meine" Versionen und Konfigurationen einzusetzen. Ich biete das vorkonfigurierte Paket lediglich für die Leute an, die keine Lust haben, sich mit diesen Programmen weiter auseinanderzusetzen.
Zu beachten gilt Folgendes:
1.
Die Datenbankanbindung in den php-Skripten nutzt die Erweiterung
Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt.
Wenn man also nicht alle Skripte auf eine aktuelle Erweitung umschreiben möchte, muss man ein entsprechend älteres php verwenden und dazu passende Versionen von MySQL und apache einsetzen.
2.
Die Skripte sind php-Skripte, die vermutlich weitgehend unverändert unter Linux verwendet werden können.
Das Format der Zeilenumbrüche der Dateien muss eventuell von Windows (CR/LF) auf Linux (LF) konvertiert werden.
In der Datei
Zeilen 244-248
Der Block "Pfade definieren" muss vermutlich ebenfalls angepasst werden. (Zeilen 42-47)
3.
Die Binaries
4.
Auf weitere eventuell notwendige Anpassungen wird man aufmerksam durch Ausprobieren und die dabei auftretenden Fehlermeldungen.
Die Unterschiede zwischen Windows und Linux und damit die Anzahl und Komplexität der notwendigen Anpassungen, werden vermutlich eher gering sein, in Bezug auf die Nutzung meiner php-Skripte.
Gruß Frank
Lässt sich dein System auch auf einem Linux-System betreiben?
Ja, es gibt allerdings ein paar Dinge zu beachten.
Zitat von @Pedant
Das Ganze basiert auf php und MySQL in diesen Versionen:
Apache 2.2.11 (Win32)
MySQL 5.1.34-community
PHP 5.2.10
Die sind alle schon relativ alt.
Inwieweit es mit anderen Versionen auch funktioniert, kann ich nicht abschätzen.
Das Ganze basiert auf php und MySQL in diesen Versionen:
Apache 2.2.11 (Win32)
MySQL 5.1.34-community
PHP 5.2.10
Die sind alle schon relativ alt.
Inwieweit es mit anderen Versionen auch funktioniert, kann ich nicht abschätzen.
Das von mir verlinkte "serverprogrammesetup" enthält die Binaries für Windows.
Linux erfordert andere Binaries, die man irgendwo im Netz runterladen kann.
Die bei mir enthaltenen Konfigdateien (
httpd.conf
, my.ini
und php.ini
) könnten unter Linux als Copy-Paste-Quelle dienen, um die Dienste zu konfigurieren.Die Anleitung "serverprogrammesetupreadme" bezieht sich ebenfalls auf Windows, ist aber im übertragenen Sinne auch für Linux anwendbar.
Letztendlich sind die Programme apache, php und MySQL absolut üblich und es ist nicht nötig "meine" Versionen und Konfigurationen einzusetzen. Ich biete das vorkonfigurierte Paket lediglich für die Leute an, die keine Lust haben, sich mit diesen Programmen weiter auseinanderzusetzen.
Zu beachten gilt Folgendes:
1.
Die Datenbankanbindung in den php-Skripten nutzt die Erweiterung
mysql_query
.Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt.
Wenn man also nicht alle Skripte auf eine aktuelle Erweitung umschreiben möchte, muss man ein entsprechend älteres php verwenden und dazu passende Versionen von MySQL und apache einsetzen.
2.
Die Skripte sind php-Skripte, die vermutlich weitgehend unverändert unter Linux verwendet werden können.
Das Format der Zeilenumbrüche der Dateien muss eventuell von Windows (CR/LF) auf Linux (LF) konvertiert werden.
In der Datei
database.php
muss die Syntax der Befehle für import und export umgestellt werden auf die entsprechende Systax für Linux.Zeilen 244-248
// Befehl definieren
if ($aktion=="import")
{$befehl="mysql.exe -h ".$dbserver." -u ".$dbbenutzer." -p".$dbkennwort." ".$dbdatenbank." < \"".$sicherungsordnerdateipfad.$sqldatei."\"";};
if ($aktion=="export")
{$befehl="mysqldump.exe -h ".$dbserver." -u ".$dbbenutzer." -p".$dbkennwort." --add-drop-table --opt -c --single-transaction ".$dbdatenbank." ".$dbtabelle." > \"".$sicherungsordnerdateipfad.$sqldatei."\"";};
3.
Die Binaries
mysql.exe
und mysqldump.exe
im Unterordner tools
gilt es auch durch Linux-Binaries auszutauschen oder bei 2. die Syntax so abzuändern, dass die beiden Windows-Tools nicht benutzt werden, sondern die entsprechenden Befehle des Linux-Systems.4.
Auf weitere eventuell notwendige Anpassungen wird man aufmerksam durch Ausprobieren und die dabei auftretenden Fehlermeldungen.
Die Unterschiede zwischen Windows und Linux und damit die Anzahl und Komplexität der notwendigen Anpassungen, werden vermutlich eher gering sein, in Bezug auf die Nutzung meiner php-Skripte.
Gruß Frank
Hallo Pedant,
ich würde gern Dein Programm mal ausprobieren.
Leider Bekomme ich das ServerProgramm-File nicht komplett heruntergeladen.Der Download schliesst bei 26-48MB ab und schafft nie die 58,5MB!!
Hab Firefox, Chrome & iExplorer probiert... klappt irgendwie nicht.
Ich hab hier natürlich auch eine "Höllen"-DSL-Geschwindigkeit ... 1500-2000 ... wenn ich Glück habe 2.300 kBit!! ...nicht M.
Da ich schon lange so´ne Web-App suche würde ich es gern mal ausprobieren.
Grüsse Björn
ich würde gern Dein Programm mal ausprobieren.
Leider Bekomme ich das ServerProgramm-File nicht komplett heruntergeladen.Der Download schliesst bei 26-48MB ab und schafft nie die 58,5MB!!
Hab Firefox, Chrome & iExplorer probiert... klappt irgendwie nicht.
Ich hab hier natürlich auch eine "Höllen"-DSL-Geschwindigkeit ... 1500-2000 ... wenn ich Glück habe 2.300 kBit!! ...nicht M.
Da ich schon lange so´ne Web-App suche würde ich es gern mal ausprobieren.
Grüsse Björn
Hallo Björn,
ja, was soll ich jetzt sagen?
Eventuell "Herzliches Beileid zu Deiner fehlerhaften Internetanbindung" oder was sonst?
Der Link funktioniert und die Datei ist komplett, falls das Deine Frage war.
Auch mit 1.500 kBit/s müsste der Download nach 40 Sekunden abgeschlossen sein.
Ich kann Dir nur raten die Datei andernorts herunterzuladen und Dich um Deinen kaputten Internetanschluss zukümmern.
Ich kann Dir auch anbieten die Datei auf einen USB-Stick zu kopieren, wenn Du mir einen zuschickst.
Gegen Portoerstattung brenne ich sie Dir auch auf CD.
Gruß Frank
Zitat von @KaFuONE:
Leider Bekomme ich das ServerProgramm-File nicht komplett heruntergeladen.Der Download schliesst bei 26-48MB ab und schafft nie die 58,5MB!!
...
Ich hab hier natürlich auch eine "Höllen"-DSL-Geschwindigkeit ... 1500-2000 ... wenn ich Glück habe 2.300 kBit!! ...nicht M.
Leider Bekomme ich das ServerProgramm-File nicht komplett heruntergeladen.Der Download schliesst bei 26-48MB ab und schafft nie die 58,5MB!!
...
Ich hab hier natürlich auch eine "Höllen"-DSL-Geschwindigkeit ... 1500-2000 ... wenn ich Glück habe 2.300 kBit!! ...nicht M.
ja, was soll ich jetzt sagen?
Eventuell "Herzliches Beileid zu Deiner fehlerhaften Internetanbindung" oder was sonst?
Der Link funktioniert und die Datei ist komplett, falls das Deine Frage war.
Auch mit 1.500 kBit/s müsste der Download nach 40 Sekunden abgeschlossen sein.
Ich kann Dir nur raten die Datei andernorts herunterzuladen und Dich um Deinen kaputten Internetanschluss zukümmern.
Ich kann Dir auch anbieten die Datei auf einen USB-Stick zu kopieren, wenn Du mir einen zuschickst.
Gegen Portoerstattung brenne ich sie Dir auch auf CD.
Gruß Frank
Hallo Frank,
ich danke Dir für Deine schnelle Antwort.
Kurz nach dem senden meines Kommentars, bin ich auf die Idee gekommen auf´s Dach zu gehen und mit dem Handy zu probieren. Da hab ich immerhin H+ mit 2 Balken!!
Hat geklappt !
Das mit dem DSL versuch ich schon seit 1 1/2 Jahren ... Telekom!!! Die Alternative ist dratlos-dsl. Wenn der Support wirklich einer wäre ...
So hab die Datei und ist auch i.O. ... bin gespannt!
Grüsse Björn
ich danke Dir für Deine schnelle Antwort.
Kurz nach dem senden meines Kommentars, bin ich auf die Idee gekommen auf´s Dach zu gehen und mit dem Handy zu probieren. Da hab ich immerhin H+ mit 2 Balken!!
Hat geklappt !
Das mit dem DSL versuch ich schon seit 1 1/2 Jahren ... Telekom!!! Die Alternative ist dratlos-dsl. Wenn der Support wirklich einer wäre ...
So hab die Datei und ist auch i.O. ... bin gespannt!
Grüsse Björn
Hallo Frank
Ich habe versucht das Ganze zu installieren.
Apache hat prima geklappt. Die php.info ist aufrufbar.
Allerdings lässt sich mysql nicht installieren. Ich bekomme folgende Fehlermeldung.
Kann ich da was ändern?
Die index.php kann ich öffnen, allerdings gehen die Links nicht und auch sonst herrscht dort ein ziemliches Durcheinander.
Ich bedanke mich schon mal im Voraus.
der Micha
Ich habe versucht das Ganze zu installieren.
Apache hat prima geklappt. Die php.info ist aufrufbar.
Allerdings lässt sich mysql nicht installieren. Ich bekomme folgende Fehlermeldung.
In Zeile:1 Zeichen:49
+ "C:\Program Files (x86)\MySQL\bin\mysqld.exe" --install MySQL --defau ...
+ ~~~~~~~
Unerwartetes Token "install" in Ausdruck oder Anweisung.
In Zeile:1 Zeichen:1
+ "C:\Program Files (x86)\MySQL\bin\mysqld.exe" --install MySQL --defau ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Der Operator "--" kann nur für Variablen oder Eigenschaften verwendet werden.
+ CategoryInfo : ParserError: (:) , ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
Die index.php kann ich öffnen, allerdings gehen die Links nicht und auch sonst herrscht dort ein ziemliches Durcheinander.
Ich bedanke mich schon mal im Voraus.
der Micha
Hallo greeline,
in meinem Readme steht:
Wichtig und richtig ist, die angegebenen Zeilen in einer Eingabeeaufforderung einzugeben.
Woher stammt das, dass Du gepostet hast?
Wer oder was meldet "In Zeile:1 Zeichen:49"?
Woher kommt das Pluszeichen?
Eine Eingabeaufforderung tut sowas nicht.
Gruß Frank
in meinem Readme steht:
3. Dienste installieren
-----------------------
Eingabeaufforderung mit ausreichenden Rechten:
"C:\Program Files (x86)\MySQL\bin\mysqld.exe" --install MySQL --defaults-file="C:\Program Files (x86)\MySQL\my.ini"
"C:\Program Files (x86)\Apache\bin\httpd.exe" -k install -n "Apache2.2"
Prüfen ob die Dienste "MySQL" und "Apache2.2" auf Starttyp "Automatisch" stehen, gegebenenfalls entsprechend einstellen.
Woher stammt das, dass Du gepostet hast?
In Zeile:1 Zeichen:49
+ "C:\Program Files (x86)\MySQL\bin\mysqld.exe" --install MySQL --defau ...
Woher kommt das Pluszeichen?
Eine Eingabeaufforderung tut sowas nicht.
Gruß Frank
Hallo Micha,
...und da Du jetzt weißt, dass Du es in einer Eingabeaufforderung eingeben musst (wie es auch im Readme steht), hast Du es daraufhin getan und das Problem damit behoben oder nicht getan oder getan und nicht behoben?
Gruß Frank
...und da Du jetzt weißt, dass Du es in einer Eingabeaufforderung eingeben musst (wie es auch im Readme steht), hast Du es daraufhin getan und das Problem damit behoben oder nicht getan oder getan und nicht behoben?
Gruß Frank
Hallo Frank
Ich starte die Eingabeaufforderung mit (Windows)+(x) danach(a). Dann füge ich den Befehl ein.
Resultat auch bei dem Versuch zu deinstallieren
Wenn ich unter "ausführen "cmd" eingebe und dann den Befehl eingebe, bekomme ich folgende Meldung
"Install / Remove of Service Denied!"
Betriebssystem ist WIN10
Danke für deine Bemühungen
Micha
Ich starte die Eingabeaufforderung mit (Windows)+(x) danach(a). Dann füge ich den Befehl ein.
Resultat auch bei dem Versuch zu deinstallieren
Windows PowerShell
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
PS C:\WINDOWS\system32> "C:\Program Files (x86)\MySQL\bin\mysqld.exe" --install MySQL --defaults-file="C:\Program Files
(x86)\MySQL\my.ini"
In Zeile:1 Zeichen:49
+ "C:\Program Files (x86)\MySQL\bin\mysqld.exe" --install MySQL --defau ...
+ ~~~~~~~
Unerwartetes Token "install" in Ausdruck oder Anweisung.
In Zeile:1 Zeichen:1
+ "C:\Program Files (x86)\MySQL\bin\mysqld.exe" --install MySQL --defau ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Der Operator "--" kann nur für Variablen oder Eigenschaften verwendet werden.
+ CategoryInfo : ParserError: (:) , ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
PS C:\WINDOWS\system32> "C:\Program Files (x86)\MySQL\bin\mysqld.exe" --remove
In Zeile:1 Zeichen:49
+ "C:\Program Files (x86)\MySQL\bin\mysqld.exe" --remove
+ ~~~~~~
Unerwartetes Token "remove" in Ausdruck oder Anweisung.
In Zeile:1 Zeichen:1
+ "C:\Program Files (x86)\MySQL\bin\mysqld.exe" --remove
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Der Operator "--" kann nur für Variablen oder Eigenschaften verwendet werden.
+ CategoryInfo : ParserError: (:) , ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
PS C:\WINDOWS\system32>
Wenn ich unter "ausführen "cmd" eingebe und dann den Befehl eingebe, bekomme ich folgende Meldung
"Install / Remove of Service Denied!"
Betriebssystem ist WIN10
Danke für deine Bemühungen
Micha
Hallo Wolfsblut76,
"Zum Laufen bringen" klingt nach Tüfteln und Rumprobieren,
es handelt sich aber um eine reine Fleißaufgabe.
Warum es unter PHP 7 nicht läuft ist klar.
PHP hat die Unterstützung seiner alten API für MySQL beendet.
(php_mysql.dll gibt es dort nicht mehr.)
Es muss wahlweise die MySQLi oder PDO als API verwendet werden.
(php_mysqli.dll oder php_pdo_mysql.dll)
Es besteht natürlich die Möglichkeit PHP 5.2 und 7.0 parallel auf einem Server zu betreiben.
Zur tatsächlichen Umstellung des Projektes auf PHP 7 müssen lediglich die Datenbank-Abfragen syntaktisch umgeschrieben werden.
Die Queries, also die SQL-Statements, sind davon nicht betroffen und können bleiben wie sie sind.
Es geht daher eigentlich um eine reine Fleißarbeit.
Die wenigste Mühe dürfte es machen, wenn man das Projekt nicht für PDO ändert, sondern für MySQLi, da da die syntaktischen Unterschiede sehr gering sind.
https://wiki.selfhtml.org/wiki/PHP/Tutorials/Umstieg_von_der_veralteten_ ...
Wenn ich meine Stempeluhr jemals selbst gebraucht hätte, hätte ich es vermutlich längst erledigt.
Gruß Frank
"Zum Laufen bringen" klingt nach Tüfteln und Rumprobieren,
es handelt sich aber um eine reine Fleißaufgabe.
Warum es unter PHP 7 nicht läuft ist klar.
PHP hat die Unterstützung seiner alten API für MySQL beendet.
(php_mysql.dll gibt es dort nicht mehr.)
Es muss wahlweise die MySQLi oder PDO als API verwendet werden.
(php_mysqli.dll oder php_pdo_mysql.dll)
Es besteht natürlich die Möglichkeit PHP 5.2 und 7.0 parallel auf einem Server zu betreiben.
Zur tatsächlichen Umstellung des Projektes auf PHP 7 müssen lediglich die Datenbank-Abfragen syntaktisch umgeschrieben werden.
Die Queries, also die SQL-Statements, sind davon nicht betroffen und können bleiben wie sie sind.
Es geht daher eigentlich um eine reine Fleißarbeit.
Die wenigste Mühe dürfte es machen, wenn man das Projekt nicht für PDO ändert, sondern für MySQLi, da da die syntaktischen Unterschiede sehr gering sind.
https://wiki.selfhtml.org/wiki/PHP/Tutorials/Umstieg_von_der_veralteten_ ...
Wenn ich meine Stempeluhr jemals selbst gebraucht hätte, hätte ich es vermutlich längst erledigt.
Gruß Frank
Hallo Frank,
vielen Dank für die Infos. Die Fleißaufgabe würde ich gern machen nur scheiters bei simplen Sachen. Vielleich kann mir einer etwas unter die Arme greifen damit ich dieses System verstehe.
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 17
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 55
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 59
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 85
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 88
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 93
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 97
Notice: Undefined variable: sqlzugriff in /var/www/web3/htdocs/ameise/zeiterfassung/common/log.php on line 60
Zeile 17 in get_post_session.php
if ($debug) {echo "<br>\nGET-Variablen<br>\n";};
foreach ($_GET as $var=>$value)
Zeile 55 in get_post_session.php
if ($debug) {echo "$var = $value<br>\n";};
};
Zeile 59 in get_post_session.php
if ($debug) {echo "<br>\nPOST-Variablen<br>\n";};
foreach ($_POST as $var=>$value)
Zeile 85-97 in get_post_session.php
if ($debug) {echo "<br>\nSESSION-Variablen<br>\n";};
if (session_id() != "")
{
if ($debug) {echo "session_id = ".session_id()."<br>\n";};
foreach ($_SESSION as $var=>$value)
{
${"$var"} = $value;
// Achtung: hier gesetzte/angezeigte Rechte werden anschließend durch rechte.php gesetzt/geändert
if ($debug) {echo "$var = $value<br>\n";};
};
};
if ($debug) {echo "<br>\n";};
vielen Dank für die Infos. Die Fleißaufgabe würde ich gern machen nur scheiters bei simplen Sachen. Vielleich kann mir einer etwas unter die Arme greifen damit ich dieses System verstehe.
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 17
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 55
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 59
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 85
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 88
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 93
Notice: Undefined variable: debug in /var/www/web3/htdocs/ameise/zeiterfassung/common/get_post_session.php on line 97
Notice: Undefined variable: sqlzugriff in /var/www/web3/htdocs/ameise/zeiterfassung/common/log.php on line 60
Zeile 17 in get_post_session.php
if ($debug) {echo "<br>\nGET-Variablen<br>\n";};
foreach ($_GET as $var=>$value)
Zeile 55 in get_post_session.php
if ($debug) {echo "$var = $value<br>\n";};
};
Zeile 59 in get_post_session.php
if ($debug) {echo "<br>\nPOST-Variablen<br>\n";};
foreach ($_POST as $var=>$value)
Zeile 85-97 in get_post_session.php
if ($debug) {echo "<br>\nSESSION-Variablen<br>\n";};
if (session_id() != "")
{
if ($debug) {echo "session_id = ".session_id()."<br>\n";};
foreach ($_SESSION as $var=>$value)
{
${"$var"} = $value;
// Achtung: hier gesetzte/angezeigte Rechte werden anschließend durch rechte.php gesetzt/geändert
if ($debug) {echo "$var = $value<br>\n";};
};
};
if ($debug) {echo "<br>\n";};
Hallo Wolfsblut76,
Das sind lediglich Hinweise (Notice) die besagen, dass eine Variable benutzt wird ohne dass sie deklariert wurde.
Auf einem Produktivsystem sollte php nicht so gesprächig konfiguriert sein und sich solche Hinweise sparen.
Siehe: https://www.php.net/manual/de/function.error-reporting.php
Inhaltlich hat php natürlich recht, dass da etwas nicht ganz sauber ist.
Lösung
Ergänze die Datei "get_post_session.php" mit einer neuen Zeile 13:
und die Datei "log.php" mit einen neuen Zeile 7:
dann sind die beiden Variablen deklariert bevor sie benutzt werden und php ist zufrieden.
Gruß Frank
Die Fleißaufgabe würde ich gern machen
Prima, viel Spaß dabei.... nur scheiters bei simplen Sachen.
Dann kann es recht mühsam werden.Vielleich kann mir einer etwas unter die Arme greifen damit ich dieses System verstehe.
Das sind lediglich Hinweise (Notice) die besagen, dass eine Variable benutzt wird ohne dass sie deklariert wurde.
Auf einem Produktivsystem sollte php nicht so gesprächig konfiguriert sein und sich solche Hinweise sparen.
Siehe: https://www.php.net/manual/de/function.error-reporting.php
Inhaltlich hat php natürlich recht, dass da etwas nicht ganz sauber ist.
Lösung
Ergänze die Datei "get_post_session.php" mit einer neuen Zeile 13:
$debug=false;
$sqlzugriff=false;
Gruß Frank
Hallo Micha1978, eine andere Lösung wie die dadenbank auf PHP5 umzustellen bleibt mit leider auch nicht übrig. Ich hab es versucht und bin gescheitert.
Fehler in Script
https://XXXXX/zeiterfassung/html/login.php
Abbruch in Zeile 10
Meldung:
Fehler in Script
https://XXXXX/zeiterfassung/html/login.php
Abbruch in Zeile 10
Meldung:
Hallo liebe Kollegen,
ich habe die Umstellung jetzt erledigt und dazu einen neuen Thread eröffnet.
Biete einfache (webbasierte) Stempeluhr mit Exportfunktion
Gruß Frank
ich habe die Umstellung jetzt erledigt und dazu einen neuen Thread eröffnet.
Biete einfache (webbasierte) Stempeluhr mit Exportfunktion
Gruß Frank
Zitat von @Pedant:
Hallo liebe Kollegen,
ich habe die Umstellung jetzt erledigt und dazu einen neuen Thread eröffnet.
Biete einfache (webbasierte) Stempeluhr mit Exportfunktion
Gruß Frank
Hallo liebe Kollegen,
ich habe die Umstellung jetzt erledigt und dazu einen neuen Thread eröffnet.
Biete einfache (webbasierte) Stempeluhr mit Exportfunktion
Gruß Frank
Hallo Kollege!
Lieben Dank für Deine Arbeit!
Gruß
Andreas