Arrays und andere komplexe Daten mit PHP in einer MySQL-Datenbank speichern

Viele von euch werden wohl schon einmal vor dem Problem gestanden haben, dass sie ein Array oder ein Objekt in der Datenbank speichern mussten. Hier möchte ich ein paar Vorschläge unterbreiten, wie man das Problem nicht lösen sollte und wie es besser gehen kann.

Der schlechte Weg

Die einfachste und gleichzeitig auch schlechteste Methode wäre es, für jeden Index eines Arrays oder jede Eigenschaft eines Objekts eine neue Spalte zu erzeugen. Bei diesem Ansatz werden unter Umständen viele Zeilen erzeugt, die nicht immer einen Wert enthalten. Das ist zwar nicht so gravierend, aber durch diesen Ansatz erhöht sich auch die Anzahl der Spalten schnell auf eine unübersichtliche Anzahl. Zuletzt ist es hierbei bei jeder Änderung des Arrays oder Objekts notwendig die Datenbanktabelle anzupassen.

Weiterlesen →

Spam oder kein Spam? Mit Akismet keine Frage!

Jeder der einen WordPress Blog installiert, bekommt automatisch das Akismet Plugin mitgeliefert. Dabei handelt es sich um ein Plugin zum Erkennen von Spam-Kommentaren. Wer es nutzen möchte, benötigt allerdings einen API-Key, den jeder Benuzter von WordPress.com kostenlos bekommt. Wer so wie ich seinen Blog selbst hostet, sollte sich trotzdem bei WordPress.com anmelden um einen API Key zu bekommen.

Weiterlesen →

Spendenaufruf für Haiti mal anderes

In meinem WordPress Dashboard (der Administrations-Startseite) war heute ein interessanter Artikel mit dem Titel Ich will euer Geld aufgeführt. So ein Artikel macht mich natürlich neugierig.

Es handelt sich um einen Spendenaufruf für die Kindenothilfe, die sich auch um die Opfer der Erdbebenkatastrophe von Haiti kümmert. Frank Bültge, der Autor der Seite, spendet hierbei den zweifachen Betrag aller seiner Paypal-Spenden des letzen Jahres an die Kindernothilfe. Ich finde die Idee richtig gut. Auch ich hatte vor einen Betrag zu spenden, aber da auf meinem Paypal-Account bisher noch nicht ein Cent an Spenden eingegangen ist, habe ich mich dazu entschieden meine AdSense Einnahmen zu verdoppeln und diese zu spenden.

Auch Google ruft auf seiner Startseite zum Spenden auf und jeder von uns wird ja noch den ein oder anderen Euro übrig haben. Das Spenden per Paypal ist ja auch keine allzu große Sache und jeder Euro hilft.

Wenn hierdurch jemand zusätzlich dazu ermutigt wurde mir auch mal einen kleinen Betrag zu spenden, weil er z.B. mit einem meiner Plugins zufrieden ist, umso besser. Aber die Menschen auf Haiti benötigen diese zur Zeit sehr viel dringender. Eine Liste mit Hilfsorganisationen, die Spenden für Haiti sammeln hat tagesschau.de zusammengestellt.

UPDATE: Habe soeben meine Überweisung an Plan International vorgenommen. Dort bin ich zusammen mit meinen beiden Brüdern schon seit über 10 Jahren Pate. Wer sich auch dafür engagieren möchte, sollte sich einfach mal dort informieren.

Einen WordPress Blog mehrsprachig anbieten mit dem qTranslate Plugin

Wie bereits angekündigt folgt hier nun ein weiterer Artikel über eines der von mir verwendeten Plugins. Heute geht es um das Plugin qTranslate, das die Grundlage für die Mehrsprachigkeit meines Blogs bildet. Ich habe im Vorfeld viele Plugins für mehrsprachige WordPress Blogs getestet, aber keines war nur annähernd so umfangreich und zuverlässig wie qTranslate.

Installation und grundlegende Einstellungen des Plugins

Das Plugin kann genauso einfach installiert werden wie jedes andere auch. Es ist prinzipiell auch keine Anpassung irgendwelcher Zugriffsrechte notwendig und es müssen auch keine Änderungen am Theme vorgenommen werden. Das hat mich zuerst etwas überrascht, aber es hat auf anhieb funktioniert.

Weiterlesen →

Mehrere WordPress Blog-Feeds an Google Feedburner weiterleiten

Ich habe eine Zeitlang das FD Feedburner Plugin for WordPress auf meinem Plugin eingesetzt, um meinen Artikel-Feed sowie meinen Kommentar-Feed auf Feedburner weiterzuleiten. Jetzt ist mir aber aufgefallen, dass das keine optimale Lösung war. Der Hauptgrund war, dass ich meinen Blog mit Hilfe des qTranslate Plugins in zwei Sprachen anbiete. Somit kann auch der Feed in diesen zwei Sprachen abonniert werden. Genau hier stört allerdings das Plugin. Der englische Feed wird durch den Parameter ?lang=en aufgerufen, das Plugin beeinflusst allerdings alle Feed, also auch solche mit Parametern.

Weiterlesen →

Microsoft tritt der W3C SVG Working Group bei

Wie Microsoft gestern auf seinem IEBlog mitgeteilt hat, werden sie der W3C SVG Working Group beitreten. Dies bedeutet, dass SVG für Microsoft in Zukunft einen höheren Stellenwert hat und sie sich damit nicht mehr auf VML beschränken.

Für uns als Webentwickler wird damit das Thema in Zukunft wohl interessanter werden. Bisher musste man einen Nutzer, der den Internet Explorer verwendent stets dazu nötigen sich ein Plugin von Adobe zu installieren, zu welchem aber im letzen Jahr die Weiterentwicklung eingestellt wurde.

Weiterlesen →

PDF-Dokument ohne PDFlib mit PHP erzeugen

Viele von euch werden wohl XAMPP benutzen, um lokal in PHP zu entwickeln und zu testen. In der Windows-Version enthält es auch die PHP-Extension PDFlib, die aber leider auf vielen Hostingpaketen mit Linux als Betriebssystem nicht enthalten ist. Da PDFlib mehrere hundert Euro Lizenzgebühren kostet stellen sich viele die Frage, ob es sinnvolle und kostenlose Alternativen gibt. Glücklicherweise gibt es Alternativen und eine sehr umfangreiche möchte ich euch kurz vorstellen.

Die kostenlose TCPDF Library

Nachdem ich ein paar kostenlose PDF Klassen für PHP getestet habe, hat sich ein klarer Sieger herausgestellt. Die Klasse TCPDF zeichnet sich nicht nur durch seinen großen Funktionsumfang, sondern auch durch seine sehr gute Quellcode-Kommentierung und die gute Dokumentation der Funktionen.

Weiterlesen →

Frohes neues Jahr!

Das Jahr 2009 ist vorbei und hat viele Trends gesetzt. Auch im Onlinebereich sind mit Twitter, Google Wave und Co. große Projekte massentauglich geworden bzw. haben das Licht der Welt erblickt.

Ich bin gespannt was 2010 bereit hält. Endlich eine Verabschiedung von HTML5 oder CSS3? Wohl eher leider nicht. Aber wir können uns bestimmt auf einige Überraschungen gefasst machen.

Ich werde auch in diesem Jahr versuchen ein paar dieser Trends aufzugreifen und dem ein oder anderen ein paar neue Denkanstöße zu geben. Ich wünsche euch daher auch im neuen Jahr viel Spaß mit meinem Blog.

Prost, euer

Kau-Boy

Kostenlose Alternative zum Cisco VPN Client unter Windows 7 x64 (64 bit)

Bei der Installation meines Win7 Systems auf meinem ThinkPad stieß ich auf das Problem, das wohl viele Umsteiger von Windows in einer 32bit Version haben. Für die Zugriff auf die Netzwerke in der Universität und im Büro bin ich auf eine Cisco VPN Verbindung angewiesen. Leider gibt es von Cisco keinen 64bit VPN Client für Windows 7 in der x64 Version. Lediglich für Windows XP ist hierfür ein Client verfügbar.

Ich habe also einige Foren durchsucht und bin dabei auf verschiedene Lösungswege gestoßen. Manche haben den Cisco AnyConnect VPN Client empfohlen, der allerdings zu dieser Zeit keine PCF Profildateien unterstütze. Da ich aber von der Universität auch nicht auf Unterstützung von AnyConnect warten konnte musste eine andere Lösung her.

Weiterlesen →

Suchen-und-Ersetzen mit MySQL-Datenbanken

Vor ein paar Tagen musste ich ca. 1000 Datensätze, die fehlerhaft in eine Datenbank geschrieben wurden überarbeiten. In einer Spalte, die Links enthält musste die Toplevel-Domain von .de auf .com geändert werden. Bis zu diesem Zeitpunkt war ich der Meinung, dass es nicht möglich ist ein Suchen-und-Ersetzen auf MySQL-Tabellen mit einem einfachen SQL-Statement durchzuführen. In der Regel habe ich daher die Tabelle mit einem Programm wie Access verbunden und dort die Suchen-und-Ersetzen Funktion genutzt.

Die Lösung für das Problem war allerdings recht simpel. Ich habe für Abfragen schon mehrfach die REPLACE() Funktion von MySQL benutzt, die wie folgt definiert ist:

Weiterlesen →