Suche einfache (webbasierte) Stempeluhr mit Exportfunktion

mos6581
Goto Top
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

Content-Key: 313637

Url: https://administrator.de/contentid/313637

Ausgedruckt am: 16.08.2022 um 15:08 Uhr

Mitglied: michi1983
michi1983 26.08.2016 um 12:55:03 Uhr
Goto Top
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 face-smile

Gruß
Mitglied: MOS6581
MOS6581 26.08.2016 um 13:02:42 Uhr
Goto Top
Die Angst hatte ich auch, ist aber eine kleine 15-Mann Firma face-smile Momentan hängen alle Stempelkarten neben der Uhr, sind also offen zugänglich. Missbrauch ist hier kein Thema face-smile
Wären wir deutlich größer, müsste natürlich eine Authentifizierungslösung her (da würden sich die Transponder der Alarmanlage bzw. die der elektronischen Schließanlage anbieten).

Grüße MOS
Mitglied: LordXearo
LordXearo 26.08.2016 um 13:50:35 Uhr
Goto Top
Hi,

schau dir mal die Zeiterfassungslösung von ELV an. Die bieten Terminals aber auch eine Software zum "stempeln".

Gruß

Xearo
Mitglied: falscher-sperrstatus
falscher-sperrstatus 26.08.2016 um 13:56:39 Uhr
Goto Top
Hallo,

ich häng mich mal mit dran. Alternativ, etwas Smartphonebasiertes?

VG
Mitglied: manuel-r
Lösung manuel-r 26.08.2016 um 15:27:22 Uhr
Goto Top
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 face-wink

Manuel
Mitglied: beidermachtvongreyscull
beidermachtvongreyscull 26.08.2016 um 16:08:08 Uhr
Goto Top
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)
Mitglied: manuel-r
manuel-r 26.08.2016 um 16:08:19 Uhr
Goto Top
Die App (siehe mein anderer Beitrag) ist auch darauf ausgelegt vom Handy aus Kommen/Gehen für einen voreingestellten Mitarbeiter zu erfassen. Dazu muss Smalltime natürlich vom Internet aus erreichbar sein. Oder per VPN was aber für Otto Normalbenutzer dann nicht mehr so komfortabel ist.

Manuel
Mitglied: Pedant
Pedant 27.08.2016 um 12:32:29 Uhr
Goto Top
Hallo MOS6581,

Zitat von @MOS6581
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
Mitglied: Alex94G
Alex94G 28.08.2016 um 13:50:47 Uhr
Goto Top
@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
Mitglied: MOS6581
MOS6581 29.08.2016 aktualisiert um 08:39:43 Uhr
Goto Top
Herzlichen Dank für die Vorschläge schon mal, ich werde mir die Lösungen nacheinander durchsehen, vielleicht ist ja etwas passendes dabei.

@certifiedit.net: Smartphone fällt leider raus, da hier tatsächlich noch Leute ohne schlaues Telefon herumlaufen und ich ein ständiges "Der Müll geht nicht" schon jetzt in den Ohren habe... face-smile

Am liebsten wäre mir tatsächlich eine selbstgeschriebene Lösung, muss ja in der Tat nicht viel können. Nur bin ich allerdings zu wenig Programmierer um so etwas aus dem Boden zu stampfen... Scripting ja, direkte Programmiererei war allerdings noch nie so richtig meines...

Bei den ganzen "größeren" Erfassungslösungen sehe ich das große Problem dass das Frontend viel zu überladen ist. Der User sollte keine große Umstellung von "Karte in Uhr stecken, warten bis Buchung erfolgt ist, Karte wieder rausziehen" haben, sonst sinkt hier recht schnell die Akzeptanz ;)
Projekte haben wir keine, wichtig sind nur die Kommt-, Geht- und Pausenzeiten und am Ende des Monats ein vernünftiges Reporting bzw. zur Not auch Export in ein .csv, wobei da die Bürokraft wieder instruiert werden muss...


Edith: http://web-stempeluhr.de/ würde genau das abdecken was wir wollen... nur leider mit Abo, was ich wiederum nicht will. ace-sad"

Grüße,
MOS
Mitglied: falscher-sperrstatus
falscher-sperrstatus 29.08.2016 um 11:02:23 Uhr
Goto Top
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
Mitglied: MOS6581
MOS6581 30.08.2016 um 09:08:42 Uhr
Goto Top
Ich denke, ich habe meine Lösung nun gefunden: Bei unserer CHIPDRIVE-Stempeluhr ist eine PC-Stempeluhr gratis dabei. Client-/Serverbasiert, liest unsere bisherigen Chipkarten und speichert Buchungen zwischen, wenn der Server mal nicht erreichbar ist (nooot gonna happen...) face-smile

Leider eine Windows-basierte Lösung, d.h. ich muss da einen kleinen Rechner samt Bildschirm (am liebsten wäre mir eine AIO-Lösung und nicht zu groß, maximal um die 15") da an die Wand schrauben.
Eine Idee wäre ein altes windows-basiertes Tablet oder so ein Kiosk AIO-PC, da muss ich mir noch Gedanken machen - soll ja kostentechnisch irgendwo im Rahmen bleiben... Irgendwo hatte ich schnarchlangsame Paceblade P100-Tablets rumliegen ;)

lG MOS
Mitglied: LordXearo
LordXearo 30.08.2016 um 09:19:08 Uhr
Goto Top
Ich kenne die Software jetzt nicht, aber meistens sind die so simpel das die auch ohne Probleme mit Linux und Wine laufen. Unsere Zeiterfassung tut das jedenfalls.

Xearo
Mitglied: MOS6581
MOS6581 30.08.2016 um 09:37:06 Uhr
Goto Top
Denke schon auch, dass das Teil mit WINE lauffähig wäre. Einziges Problem wird dabei der Chipkartenleser sein (Towitoko)... Müsste mich mal informieren, wie weit das Raspberry Pi mit Windows 10 ist - wenn da x86-Anwendungen darauf laufen wäre das wohl eine Lösung - der Chipkartenleser selbst funktioniert unter Windows 10 noch..
Mitglied: LordXearo
LordXearo 30.08.2016 um 10:10:06 Uhr
Goto Top
Achja der Kartenleser, hatte ich nicht bedacht. Bei unserer Lösung kann man ein Passwort (Zahlen) für den Benutzer hinterlegen. Da entfällt das Problem.
Mitglied: MOS6581
MOS6581 30.08.2016 um 10:31:54 Uhr
Goto Top
Das wäre eigentlich die mir liebste Lösung gewesen.. Karten verschleißen, gehen kaputt, bekommen Füße etc... Von mir aus nicht mal mit PIN-Eingabe, höchstens um seine eigenen Zeiten einsehen zu können (das wäre noch ein nettes Feature, welches die CHIPDRIVE-Software nicht bietet...
Mitglied: LordXearo
LordXearo 30.08.2016 um 10:57:23 Uhr
Goto Top
Mit einer der gründe warum wir die Terminals und Transponder abgeschafft haben und nur noch die Client Software nutzen.

Bei uns kann man die letzten sieben Tage und den aktuellen Stundenkonto-Stand einsehen (Gleitzeit).
Mitglied: MOS6581
MOS6581 30.08.2016 um 11:02:19 Uhr
Goto Top
So - Amazon hat soeben ein hochwertigstes Odys-Tablet (Odys Winpad X9) mit Atom-Rennprozessor und Windows 10 ausgespuckt, dazu eine Wandhalterung. Gesamtkosten: 120 EUR - ich bin gespannt face-smile Wenn das Tab nichts taugt, geht es wieder zurück, wobei ich das unkritisch sehe: verwendet im eigentlichen Sinne wird es eh nicht...
Mitglied: MOS6581
MOS6581 30.08.2016 um 11:04:19 Uhr
Goto Top
Darf ich fragen, welche Software ihr im Einsatz habt?
Mitglied: LordXearo
LordXearo 30.08.2016 um 11:14:54 Uhr
Goto Top
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.
Mitglied: MOS6581
MOS6581 30.08.2016 um 11:17:46 Uhr
Goto Top
Entschuldige, überlesen face-smile Ich denke, mit unserer Software sind wir recht gut bedient, alleine schon aus dem Grund, dass die Bürokraft nicht umlernen muss face-smile
Mitglied: Pedant
Pedant 31.08.2016 um 12:23:35 Uhr
Goto Top
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.

Zitat von @MOS6581
...drückt auf "Kommt", "Geht" oder "Pause"

@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
Mitglied: MOS6581
MOS6581 31.08.2016 aktualisiert um 12:58:55 Uhr
Goto Top
Stimmt, du hast recht - es reicht "Kommt" und "Geht". Heute müsste besagtes Tablet kommen, habe die Software schon mal soweit durchgetestet, funktioniert recht brauchbar face-smile

Edit: Tablet ist in dieser Sekunde gekommen, ich berichte face-smile
Mitglied: Alex94G
Alex94G 31.08.2016 um 20:41:01 Uhr
Goto Top
Hallo Frank,

Das klingt super, danke schon mal! face-smile

Viele Grüße,
Alex
Mitglied: MOS6581
MOS6581 06.09.2016 um 16:05:51 Uhr
Goto Top
Die Stempeluhr habe ich heute offiziell in Betrieb genommen, ich musste noch Strom und Netzwerk da hin verlegen (Strom wird nachts abgeschalten, für IT und anderes Gerät ist allerdings Dauerstrom im anderen Ende der Firma da) und ein paar Stolpersteine meistern, aber jetzt läuft´s face-smile

Die Software ist wie gesagt die CHIPDRIVE PC-Stempeluhr, die wir jetzt so lange nutzen bis entweder der Smartcard-Reader kaputt geht oder die Karten alle sind...
Da das Tablet keinen zweiten USB-Anschluss hat und ich mit wüsten Y-Kabel-Kombinationen bei USB OTG nicht herumprobieren wollte, habe ich kurzerhand eine alte Fritz!Box mit USB-Anschluss verwendet und den Kartenleser per USB-Fernanschluss ans Tablet angebunden. Funktioniert einwandfrei und bis jetzt hochstabil. Eine kleine Batchdatei startet alles (Firefox, VNC, Fernanschluss und Stempeluhr-Client) in der richtigen Reihenfolge.

Um das Ding auch als Infotafel benutzen zu können (mit dem Hintergrund dass jeder mehrmals am Tag am Tablet vorbeiläuft) habe ich Firefox im Vollbildmodus im Hintergrund laufen, welcher eine schlichte .html-Seite anzeigt, die sich jede Stunde aktualisiert. 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 face-smile

Als Fallback hängt momentan noch die alte Stempeluhr darunter, sollte irgendwas sein.

Danke derweil für eure Tipps und Vorschläge!

lG, MOS
stempeluhr
Mitglied: MOS6581
MOS6581 15.09.2016 um 08:54:39 Uhr
Goto Top
Kleines Addendum: Es trat das Problem auf, dass Mitarbeiter mit etwas wurstigeren Fingern schnell mal außerhalb der Stempeluhr auf den Touchscreen drücken und somit Firefox in den Vordergrund gerät und die Stempeluhr in den Hintergrund. Mit ausgeblendeter Taskleiste und nicht wirklich technikaffinen Usern ist das nicht so optimal... Dafür gibt´s ein nettes Freeware-Tool namens DeskPins mit welchem man bestimmte Fenster in den Vordergrund pinnen kann. Tut genau das was es soll und lässt sich sogar automatisieren face-smile
Mitglied: Pedant
Lösung Pedant 03.10.2016, aktualisiert am 30.10.2018 um 18:11:44 Uhr
Goto Top
Hallo Alex, Hallo andere Interessierte,

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.

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.

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 anpassen
4. connect.php - dort Datenbank-Zugriffsdaten gegebenenfalls anpassen
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 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
Mitglied: Alex94G
Alex94G 03.10.2016 um 22:14:38 Uhr
Goto Top
Hallo Frank,

Vielen, vielen Dank für deine Mühe.

Ich werde mir morgen alles downloaden und bei Gelegenheit gleich in meiner Entwicklungsumgebung testen.

Super, mit wie viel Mühe du das aufgezogen hast.

Grüße, Alex
Mitglied: beidermachtvongreyscull
beidermachtvongreyscull 07.10.2016 um 11:02:12 Uhr
Goto Top
Ich sage auch vielen Dank für Deine Lösung.
Ich werde sie mal ausprobieren und Rückmeldung geben.
Mitglied: MOS6581
MOS6581 02.01.2017 um 09:39:00 Uhr
Goto Top
Hallo Frank,

nachdem unsere Stempeluhr-Lösung zwar wunderbar funktioniert, allerdings die Anzeige der Salden und Urlaubstage nicht abschaltbar ist (Datenschutz...) habe ich nun deine Lösung ausprobiert - Hut ab, das ist genau das was ich gesucht habe... Vielen Dank hierfür!

lG MOS
Mitglied: Pedant
Pedant 02.01.2017 um 12:17:49 Uhr
Goto Top
Hallo MOS,

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.
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.
Würdest Du die Quelle preisgeben, damit wir mitlachen können?

Gruß Frank
Mitglied: MOS6581
MOS6581 02.01.2017 um 13:02:49 Uhr
Goto Top
Ich werde die Software hier mal lokal mitlaufen lassen und testen... face-smile

Aber natürlich - die ZE holt sich die Witze über folgendes Script:


Soweit ich mich erinnern kann, kann man auf witzecharts.de sogar eigene Präferenzen angeben und sich dementsprechende Lustigkeiten ausspucken lassen... face-smile

PS: Ein Bug ist mir aufgefallen: Wenn man in der Userkonfiguration ein Foto angeben möchte, bekommt man die Fehlermeldung


Wenn man den Dateinamen zum .jpg händisch in die Datenbank einträgt funktioniert es face-smile

Muss mir jetzt noch ansehen wie die gespeicherten Zeiten am besten und DAU-kompatibelsten in Stunden umzuwandeln sind... Gerade bei den Rauchern gibt es halt am Tag gerne mal 20 Buchungen...

lG MOS
Mitglied: MOS6581
MOS6581 02.01.2017 um 13:12:31 Uhr
Goto Top
Dürfte ich den Code eigentlich für meine Zwecke hier anpassen, sollten mir noch Dinge einfallen?


lG MOS
Mitglied: Pedant
Pedant 02.01.2017 um 14:42:12 Uhr
Goto Top
Hallo MOS,

Zitat von @MOS6581
Ein Bug ist mir aufgefallen...

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.


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.
Du hattest ja Eingangs auch nach einer Lösung gefragt, die man eventuell noch an persönliche Bedürfnisse anpassen kann.

Gruß Frank
Mitglied: MOS6581
MOS6581 02.01.2017 um 14:46:32 Uhr
Goto Top
Ah herzlichen Dank face-smile Kann ich meine dürftigen Programmierkenntnisse ein wenig aufbessern face-smile
Freut mich sehr, habe jetzt die Schaltflächen alle ein wenig vergrößert und die Bildgrößen auf das Tablet im Hochformat angepasst (Wurstfinger, hatte ich irgendwann mal erwähnt...) sowie den Witz des Tages eingebaut face-smile (Mit Refresh-Button falls unlustig...)

Noch mal meine allergrößte Hochachtung.. die Komplexität des Scripts ist mir erst aufgefallen als ich mal alle Dateien im Editor offen hatte.. Respekt... wie lange sitzt man an so nem Werk?

Werde mir eventuell die Ausgabefunktion der Zeiten ein wenig zurechtbasteln, mal sehen face-smile

lG MOS
Mitglied: MOS6581
MOS6581 03.01.2017 um 09:57:02 Uhr
Goto Top
Habe eben mit dem Verantwortlichen mal durchgesprochen ob die Lösung einsetzbar wäre: ist sie prinzipiell, 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...


Ich werd mir den Code mal ansehen, vielleicht fällt mir da was ein... Mein SQL-Praxiswissen ist recht beschränkt, aber vielleicht krieg ich was zusammen face-smile

lG MOS
Mitglied: Pedant
Pedant 17.02.2017 um 19:40:26 Uhr
Goto Top
Hallo MOS,

irgendwie hat mich keine Benachrichtigung erreicht, dass es neue Antworten zu diesem Thema gab und ich habe sie erst soeben entdeckt.

Zitat von @MOS6581 Noch mal meine allergrößte Hochachtung..
Danke.

Zitat von @MOS6581... wie lange sitzt man an so nem Werk?
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

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
Mitglied: Dobby
Dobby 17.02.2017 um 19:48:15 Uhr
Goto Top
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

Mitglied: BenBen
BenBen 10.09.2018 um 17:16:22 Uhr
Goto Top
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
Mitglied: Pedant
Pedant 10.09.2018 um 22:01:33 Uhr
Goto Top
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
Mitglied: Pedant
Pedant 11.09.2018, aktualisiert am 30.10.2018 um 18:11:03 Uhr
Goto Top
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 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
Mitglied: BenBen
BenBen 17.09.2018 um 11:50:47 Uhr
Goto Top
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
Mitglied: mgrotjans
mgrotjans 02.10.2018 um 11:41:09 Uhr
Goto Top
Hallo,
Super gemacht!
Habe aber eine Frage:
Kann ich in der Zeiterfassung.php irgendwie schon in der Übersicht anzeigen lassen, ob der Mitarbeiter anwesend ist?
Wenn ich auf die Person klicke, wird der Beschriftungsbalken ja grün!
Leider reicht mein PHP scheinbar nicht ganzs dafür aus...
Mitglied: Pedant
Pedant 02.10.2018, aktualisiert am 30.10.2018 um 18:10:24 Uhr
Goto Top
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
Mitglied: mgrotjans
mgrotjans 02.10.2018 um 17:10:00 Uhr
Goto Top
Hey, Super.
Meinen allerherzlichsten Dank!
Mitglied: Al-Bundy
Al-Bundy 30.10.2018 um 09:36:03 Uhr
Goto Top
Hallo,
auch einen Herzlichen Dank von mir.
Habe noch einen kleinen Fehler gefunden face-wink
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
Mitglied: mgrotjans
mgrotjans 30.10.2018 um 10:58:47 Uhr
Goto Top
Hallo,
ja, habe ich auch bemerkt!
In der account.php muss die Zeile 174 so aussehen:
$abfrage2="UPDATE users SET user_image = \"".$Bild_neu."\" WHERE user_id = ".$editid.";";

Dann passt das!
Mitglied: Pedant
Pedant 30.10.2018 um 17:57:14 Uhr
Goto Top
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:
https://www.administrator.de/content/detail.php?id=313637&token=813# ...

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
Mitglied: Al-Bundy
Al-Bundy 02.11.2018 um 08:17:46 Uhr
Goto Top
Hallo
hatte ich schon korrigiert wolle es nur sagen, falls es noch nicht bekannt gewesen wäre
mfg Al-Bundy
Mitglied: Pedant
Pedant 17.12.2018 um 10:18:38 Uhr
Goto Top
Hallo,

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 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
Der Block "Pfade definieren" muss vermutlich ebenfalls angepasst werden. (Zeilen 42-47)

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
Mitglied: KaFuONE
KaFuONE 25.01.2019 um 13:45:01 Uhr
Goto Top
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
Mitglied: Pedant
Pedant 25.01.2019 um 14:21:36 Uhr
Goto Top
Hallo Björn,

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.

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
Mitglied: KaFuONE
KaFuONE 25.01.2019 um 14:37:53 Uhr
Goto Top
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 face-smile !

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
Mitglied: greenline
greenline 23.04.2019 um 20:07:11 Uhr
Goto Top
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
Mitglied: Pedant
Pedant 23.04.2019 um 20:47:44 Uhr
Goto Top
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
Mitglied: greenline
greenline 23.04.2019 um 21:12:47 Uhr
Goto Top
Hallo Frank
Ich habe das in Administrator: Windows PowerShell eingegeben.
Das gibt mir PowerShell so aus mit den + Zeichen

Danke für die unglaublich schnelle Reaktion.
Micha
Mitglied: Pedant
Pedant 24.04.2019 um 09:30:01 Uhr
Goto Top
Hallo Micha,

Zitat von @greenline:
Ich habe das in Administrator: Windows PowerShell eingegeben.
...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
Mitglied: greenline
greenline 24.04.2019 um 22:12:07 Uhr
Goto Top
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
Mitglied: Pedant
Pedant 24.04.2019 um 22:33:49 Uhr
Goto Top
Hallo Michael,

muss ich's wirklich nochmal sagen?
Lass PowerShell weg und halte Dich ans Readme:

Starte eine Eingabeaufforderung mit ausreichenden Rechten und gib die Befehlszeilen dort ein.

Wenn Du genau das gemacht hast und dann dennoch ein Fehler auftritt kannst Du Dich nochmal melden.

Gruß Frank
Mitglied: Wolfsblut76
Wolfsblut76 27.05.2021 um 18:03:26 Uhr
Goto Top
Schade das es nur noch auf php 5.2 läuft. Ist jemand hier der sowas auf 7.0 zum laufen gebracht hat?
Mitglied: Pedant
Pedant 28.05.2021 um 09:37:08 Uhr
Goto Top
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
Mitglied: Wolfsblut76
Wolfsblut76 29.05.2021 um 14:24:34 Uhr
Goto Top
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";};
Mitglied: Pedant
Pedant 29.05.2021 um 15:49:36 Uhr
Goto Top
Hallo Wolfsblut76,

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:
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
Mitglied: Micha1978
Micha1978 30.05.2021 um 15:20:44 Uhr
Goto Top
Hallo Wolfsblut,
haben Sie schon was hier umsetzen können? Wenn ja, könnten Sie vielleicht die angepassten Datein hier bereitstellen. Ich hätte auch Interesse an dieser Zeiterfassung.
Mitglied: Wolfsblut76
Wolfsblut76 30.05.2021 um 16:00:07 Uhr
Goto Top
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: