bUTschy.de

Suchen

Zeiterfassung

Mit Vanilla PHP und Legacy Code die SQLite Datenbank befragt und die sagt:

DatumStartEndePauseZeit
23.1008:0017:00608.0
24.1008:0017:00608.0
25.1008:0017:00608.0
26.1008:0017:00608.0
27.1008:0017:00608.0
Insgesamt: 40.0 Stunden.

Ternären Operator

Im Backend lese ich mir mit meinem PHP CRUD Script alle Artikel aus der Datenbank ein und gebe diese in einer Tabelle aus.

Status 1 2 3 Farben

Hier lasse ich mir unter anderem auch den Status der Artikel anzeigen. Je nach Status (1, 2 oder 3) wird die Zahl in einer anderen Farbe angezeigt.

IntlDateFormatter

Das Datum in der Datenbank liegt im Format 2023-03-19 07:18:22 vor.

Ein Code soll das Datum jetzt ohne Verwendung von setlocale so umwandeln, das es komplett in Deutsch zu so einer Ausgabe kommt.

Am Sonntag, den 19. März 2023 um 07:18 Uhr

Ihr Datenvolumen ist zu 100% aufgebraucht

Ihr monatliches Highspeed-Volumen ist aufgebraucht und Ihre Surf-Geschwindigkeit reduziert sich nun bis einschließlich des nächsten Abrechnungstages (dem nächsten 21. des Monats) auf 64 kBit/s.

Jaaaaa, ich hab es gemerkt.

PHP Verbrauch und Kosten berechnen

Bisher speichere ich lediglich die Zählerstände $zaehler_neu und $zaehler_alt in der Datenbank und lasse PHP die Berechnung mit den vordefinierten Zahlen durchführen.

Nicht besonders elegant, aber es funktioniert zumindest schon mal.

$preis_kwh = '0.25';
$gebuehr   = '5.19';
$abschlag  = '85.00';
$verbrauch = $zaehler_neu - $zaehler_alt;
$kosten    = $verbrauch * $preis_kwh + $gebuehr;
$differenz = $abschlag - $kosten;

Das Ergebnis lasse ich in eine Tabelle ausgeben:

SQL IN or NOT IN

Hey Datenbank, zeige mir nur die Daten mit der ID 6, 33 und der 47 an.

SELECT * FROM `daten` WHERE `id` IN (6,33,47)

Ne warte, anders herum...

SQL WHERE AND

Hey Datenbank, zeige mir bitte den Inhalt der ID 6 an, aber nur, wenn der "status" 1 ist.

SELECT * FROM `daten` WHERE `status`=1 AND `id`=6

Datenbank Abfrage mit zwei oder mehr Bedingungen.

NULL Datenbank

Der NULL Werte (nicht das Wort an sich) in einer SQL Datenbank ist ein Zeichen für schlechtes Datenbank-Design. Hier sollte ein adäquater Ersatz oder die leeren Zeichenfolge ' ' verwendet werden.

JSON CRUD

Brauche ich zwar noch nicht, aber ich wollte mich Technisch schon mal mit JSON auseinander setzten. Also kurz eine JSON-Datei erstellt (brennholzverleih.json) und diese schnell via Textarea mit ein paar Daten befüllt.

Ein Datensatz sieht in etwa so aus:

Eine Textdatei einlesen

Kompletten Inhalt ausgeben.

$flatfile = 'textdatei.txt';
$inhalt = file_get_contents($flatfile);
echo $inhalt;

Nur Zeile 3 ausgeben.

Virale Witze

Chuck Norris wurde positiv auf Corona getestet. Das Virus ist nun 14 Tage in Quarantäne!


Die Corona-Warn-App hat nur eine Funktion - Datenschutz

SQL Vergleichsoperatoren

Alle Einträge deren ID kleiner als 10 ist

SELECT * FROM `daten` WHERE `id` < 10

Alle Einträge deren ID größer 10 ist

SELECT * FROM `daten` WHERE `id` >= 10

üöä-ÜÖÄ

ü -- Ü -- ö -- Ö -- ä -- Ä und er hier ß

Warum es mir wieder alle Umlaute in der Datenbank zerhaut ist mir ein Rätzel.

Update:  Mein PSPad war der Übeltäter.

Scaremail Today

Hallo, mein Opfer

Ich schreibe Ihnen, weil Ich Malware auf die Porno-Website gesetzt habe, die Sie besucht haben. Mein Virus hat all Ihre persönlichen Daten gesammelt, und hat Ihre Kamera während Ihrer Masturbation eingeschaltet.

Windows 10 Datenverbrauch

Wie viele Bytes werden während einer Windows 10 Sitzung so über das Netzwerk empfangenen und gesendeten und wo finde ich die Statistik dazu?

Öffne dazu die Eingabeaufforderung cmd und gib dort den Befehl netstat -e ein.

utf8mb4

General error: 1366 Incorrect string value: '\xF0\x9F\x98\x81'

Nach dem ich den charset für meine Datenbankverbindung von utf8 auf utf8mb4 umgestellt habe, kann ich jetzt Unicode in meine Datenbank schreiben, ohne diese Fehlermeldung da oben. ?

Externe Datensammler

Beim Besuch dieser Homepage sollen keinerlei personenbezogene Daten gesammelt und an externe Dienste weitergeleitet werden. Daher werde ich jetzt alle externen Dienste verbannen und durch eigene Funktionen ersetzen.

Externe Datensammler waren unter anderem:

Alle IP´s löschen

Jeder Kommentar in einem Artikel auf dieser Homepage beinhaltet auch die IP des Kommentierenden.

Will ich nach einer bestimmten Zeit diese IP´s aus allen bisherigen Kommentaren entfernen, führe ich in phpMyAdmin diesen SQL-Befehl in meiner Datenbank aus:

UPDATE kommentare SET kom_ip = ' ';

DSGVO

Die Datenschutz-Grundverordnung kurz DSGVO wurde verabschiedet und greift ab dem 25 Mai 2018

Für mich als Seiten-Betreiber bedeutet es, Dich als Besucher dieser Homepage mit einer Datenschutzerklärung darüber zu Informieren, was für Daten von Dir während Deines Besuches anfallen, was gespeichert wird und wie diese gespeicherten Daten verwendet werden.

IP-Cam Privater Bereich

Stichwort Datenschutz, auch das kann die Foscam Fi9826W.

Konfig -> Video -> Datenschutz -> Zugriff Privater Bereich.

PHP Mini PDO CRUD

Diese kleine Datenbank besteht aus nur einer einzigen Datei (index.php) in der wird alles gesteuert und sieht momentan so aus.

Lust zu Basteln ? dann lade dir das Script hier runter und mach es Schick, Schlank, Sicher, nur lass es in einer einzigen Datei, alles andere gibt es schon in Geiler ;)

Unicode vs. Latin-1

Wenn Daten als UTF-8 (Unicode) gespeichert wurde, aber als ISO 8859-1 (Latin-1) interpretiert werden, sieht das so aus:

ä ö ü

EU Cookies

Laut einer EU Datenschutzrichtlinie müsste ich euch darauf hinweisen, das hier auf der Homepage Cookies zum Einsatz kommen und wenn nicht, dann nicht.

NOT NULL DEFAULT

Wenn nun in der Datenbank-Tabelle:

`hits` int(11) NOT NULL DEFAULT '0',

Und im Script:

$hits = isset($_POST['hits']) ? trim($_POST['hits']) : 0;

Dann schreibt er auch eine 0 ?

Foscam SD als Netzlaufwerk

Um die Speicherkarte der Foscam IP-Kamera als Windows Netzlaufwerk einzurichten, basteln wir uns einfach einen passenden FTP-Link zusammen und der geht so.

1und1 DSL 50

Nun ist es Offiziell, wir wechseln von o2 (Alice DSL 16) zu 1&1 und holen uns dort eine DSL 50MBit/s Leitung für 23,49€ im Monat.

Und was kostet der ganze Kram jetzt wirklich ?

Meine digitalen Helfer

Vielleicht interessiert es ja den einen oder anderen welche Techniken, Dienste und Software ich auf und für diese Homepage verwende.

Update 12.02.2018 - Daten werden überarbeitet, waren nicht mehr Aktuell ;)

coming soon O.o

4CMS Passwörter

Wo wir gerade bei Sicherheit sind, ich habe hier im 4CMS eben mein Passwort in "demo" geändert und in der Datenbank sieht das Passwort "natürlich verschlüsselt (nicht mit md5 / sha1)" so aus:

$2y$10$JJbolR9cjToadUN87Mop0eEhjdq.Hm4/xzwG.4e7KnzVezYsW5.kG

Jetzt ändere ich das Passwort erneut und nenne es wieder einfach nur "demo" und speichere es ab und jetzt achtet mal auf den Hash:

COUNT und GROUP BY

Für eine Top 5 Liste brauche ich nur ein COUNT(*) und GROUP BY() an die Datenbank senden.

SELECT `buser`, COUNT(*) AS `zahl` FROM `box` GROUP BY `buser` ORDER BY `zahl` DESC LIMIT 5

Und schon habe ich die Top 5 Einträge und die Summe deren Einträge in einer Liste.

Hab ich in der Form schon für einige Blöck gebraucht.

Ein Forum

Ein einfaches kleines PHP Forum Modul wollte gebaut werden.

So schnappe ich mir eines meiner Content-Module, bediene mich an den Kommentar-Funktionalitäten des Artikel-Moduls und Clone die Datenbank-Tabelle vom Box-Modul (die besteht ja auch nur aus einer Tabelle) Tätäää... das kleinste und sicherste PDO Forum der Welt ist fertig.

Foscam FI9826W Demo

Wer sich hier mal die Qualität der neuste Indoor IP-Kamera von Foscam in Live ansehen möchte, braucht nur eine IP, einen Port und die Zugangsdaten in sein "bevorzugten" Viewer (z.b. TinyCam) eintragen.

  • IP: https://gc8883.myfoscam.org
  • PORT: 20070
  • Username: user
  • Passwort: user

FI9831W vs. FI9826W

Der Unterschied laut Datenblatt (foscam.com) alles soweit gleich, bis auf:

Foscam FI9831W Foscam FI9826W
2.8 mm Linse mit 70° Winkel 4-9 mm Fokal-Linse mit 35-70° Winkel
11 IR LEDs 13 IR LEDs
SD-Karte micro SD-Karte
f: 2.8mm, F:2.4 f: 4mm~9mm, F:1.8
  3-fach Zoom
104,99 € (foscam.de) 159,90 € (foscam.de)

Ein Box-Block

Die neusten bzw. letzten Einträge aus einer SQL Datenbank.

SELECT * FROM `daten` ORDER BY `id` DESC LIMIT 3

WhatsApp Lesebestätigungen

WhatsApp Haken

Die Lesebestätigungen bei WhatsApp lässt sich nun deaktivieren, dazu muss man sich lediglich die neuste Version direkt bei Whatsapp.com holen.

Die aktuelle Version ist 2.11.444 und die bietet in den Einstellungen => Datenschutz eine Option namens "Read Receipts", dort einfach den Haken entfernen.

Zufall aus der Datenbank

Einen zufälligen Eintrag aus der Datenbank auslesen.

SELECT `titel` FROM `tabelle` ORDER BY RAND() LIMIT 1

Schon schlimm wenn man das nur mit einer Funktion RAND() erledigen kann.

DELETE mit PDO

Einen Eintrag aus der SQL Datenbank löschen, die kürzest mögliche Schreibweise:

$stmt = $db->prepare('DELETE FROM `tabelle` WHERE `id` = :id');
$stmt->execute(array(':id' => $_GET['id']));

So verwende ich es hier im 4CMS.

config.php Nr. 2

Wir wollen eine Datenbank Verbindung mit einer MySQL-Datenbank herstellen.

Unsere Daten tragen wir hier ein:

define('DBTYPE','mysql');
define('DBHOST','localhost');
define('DBNAME','dein_datenbankname');
define('DBCHAR','utf8mb4');
define('DBUSER','dein_db_username');
define('DBPASS','dein_db_passwort');

Diese übergeben wir dann an unsere Verbindung:

Umlaute ÄÖÜäöü

Ich schreibe Umlaute mit TinyMCE und Tiny schreibt diese auch so in die Datenbank.

SQL RAND()

Einen zufälligen Datensatz mit RAND() aus der Datenbank holen.

SELECT `titel` FROM `daten` ORDER BY RAND() LIMIT 1

mySQL SUM

Klickt man hier auf einen der Artikel, wird dieser Klick in die Zelle aklicks in die Datenbank geschrieben und der Wert dort um einen erhöht.

if rowCount 0 else

Was ist, wenn es noch keinen Daten in der Datenbank gibt, muss man es Petzen ? Und wenn ja, wie ?

Daten von Heute

Für die schnelle Übersicht zwischendurch.

SELECT * FROM `tabelle` WHERE DATE_FORMAT(`datum`, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')

Zeigt dir alle Einträge der Tabelle "tabelle" dieser Woche an.

4CMS PDO Crud

CREATE, READ, UPDATE und DELETE wie ich es hier im 4CMS verwende.

Wenn ich einen Parameter an ein Prepared Statement binde, muss ich ihn nicht escapen.

Tabelle kategorie

In phpMyAdmin die Datenbank auswählen in dem unsere Tabelle kategorie hinzugefügt werden soll

SQL -> SQL-Befehl(e) in Datenbank DEINEDATENBANK ausführen.