Assoziatives Array als HTML Tabelle ausgeben

Sehr häufig wird gefordert ein assoziatives Array als HTML Tabelle auszugeben. Ich nutze hier sehr oft die implode() Funktion, um dabei mit möglichst wenig Quellcode zu dem Gewünschten Ergebnis zu kommen. Da ich meine Lösung wirklich sehr schön und genial einfach finde, wollte ich euch kurz die Funktion präsentieren. Als auszugebendes Array nehmen wir das MySQL-Debugging Array aus meinem vorherigen Artikel MySQL unter PHP debuggen mit einer eigenen MySQL Klasse.

function array_to_table($a){
	$t='<table>';
	$t.='<tr><th>'.implode('</th><th>', array_keys($a[0])).'</th></tr>';
	foreach($a as $row){
		$t.= '<tr><td>'.implode('</td><td>', $row).'</td></tr>';
	}
	return $t.='</table>';
}

// Ausgabe der Tabelle
echo array_to_table($mysqli->queries);

Weiterlesen →

MySQL unter PHP debuggen mit einer eigenen MySQL Klasse

Bei einem meiner Projekte kam es zu ungewöhnlich langen Ladezeiten eines Formulars. Da hier allerdings auch sehr viele Datenbankabfragen ausgeführt werden müssen und dabei auch noch die Werte per COUNT() gezählt werden wunderten mich die Zeiten nicht wirklich.

Nun wollte ich natürlich wissen, welche Abfrage dabei besonders viel Zeit in Anspruch nimmt um dann gezielt optimieren zu können. Ich setze in dem Projekt auf die MySQLi Klasse von PHP. Da ich hierbei die Klasse objektorientiert nutze, war es sehr einfach möglich diese zu erweiterten. Eine Möglichkeit wäre es natürlich gewesen eine eigene Funktion zu schreiben, aber in diesem Fall hätte ich auch alle Skript anpassen müssen, in denen ich eine Query ausführe. Daher habe ich mich dazu entschlossen einfach die query() Funktion von MySQLi zu überschreiben. Hier ein stark vereinfachtes Beispiel, wie so etwas aussehen könnte:

Weiterlesen →

Das Bermudadreieck des Internet Explorer – Oder: Wo zum Teufel ist mein Ordner hin?

Heute bin ich mal wieder auf ein sehr faszinierendes Problem mit dem Internet Explorer gestoßen. Meine erste Vermutung war mal wieder ein Programmierfehler im vielgeliebten IE6, aber der Fehler trat auch im Internet Explorer 7 auf.

Ich nutze in einem Projekt absolute Pfade in allen Dateinamen, Links und Formularen. Nun hatte ich aber im einem Formular dummerweise das Gleichheitszeichen nach dem Short Open Tag in PHP vergessen. Mein Formular sah also in verkürzter Form wie folgt aus:

<form action="<? ABSOLUTER_PFAD ?>form.php">
...
</form>

Weiterlesen →

Tutorial: Drag-and-Drop mit Scriptaculous – Teil 1: Draggable

Heute möchte ich mein angekündigtes Tutorial über Drag-and-Drop starten. Das Ziel dieses Tutorials ist der Nachbau einer dynamischen Newsseite, wie ich sie in meinen Artikel Öffentlich-rechtlich und vorbildhaft – So muss eine Web 2.0 zu Olympia aussehen vorgestellt habe. Da eine solche Seite mit vielen verschiedenen Techniken zusammengesetzt ist, werden wir immer kleine Teile auf dem Schritt zur fertigen Seite nachvollziehen.

Im ersten Teil geht es um die Grundlage einer Seite mit Drag-and-Drop. Wir verwenden für dieses Tutorial die Drag-and-Drop Funktionalität von Scriptaculous, welches eine Erweiterung des Prototype Frameworks ist. Um die hier gezeigten Funktionen selbst nachprogrammieren zu können benötigt ihr also zuerst einmal die beiden Frameworks.

Weiterlesen →

Weitere Sicherheitslücken beim Internet Explorer 6 aufgetreten

Es vergeht fast keine Woche, in dem nicht neue Sicherheitslücken im Internet Explorer 6 bekannt werden. Dieses Mal sind die Versionen 6 und 7 für Windows XP betroffen. User von Windows 7 sowie von Windows Server 2008 und Vista sind laut dem Blogartikel von Microsoft nicht betroffen.

Wie so oft wird den Nutzern geraten die Scripting Funktionen ihres Browsers zu deaktivieren. Dies ist aber nicht immer für den Benutzer möglich bzw. findet er oft die nötigen Einstellungen dazu nicht. Meiner Meinung nach wird durch diese Sicherheitslücken zunehmend die Angst vor JavaScript und Co. gestärkt. Das macht es für uns Webentwickler natürlich teilweise sehr schwer den effektiven und wohl dosierten Einsatz von clientseitigen Skriptsprachen zu rechtfertigen.

Nun kann man zwar nicht dem Internet Explorer die Schuld daran geben, denn schließlich tauchen bei jedem Browser mehrmals pro Jahr Sicherheitslücken auf. Aber beim Internet Explorer 6 häufen sich solche Fehler in letzter Zeit. Wenn das natürlich dazu führt, dass er IE6 schneller von Unternehmensrechnern verschwindet und damit seine Hauptzielgruppe verliert umso besser. Doch leider findet er sich noch immer auf jeder Standardinstallation eines Windows XP System und auch die Service Packs zwingen den Benutzer nicht zum Update. Microsoft hat zwar angekündigt den Support für Windows XP ohne SP3 zum Juli einzustellen, aber auf ein Support Ende des IE6 warten wir bisher vergeblich.

Wenn ich mir zu meinem Geburtstag diesen Monat etwas von Microsoft wünschen dürfte, dann wäre es nicht das neue Office 2010, was ja im Juni erscheinen soll, sondern das Ende einer Ära im Browsermarkt.

Programme als Administrator in eingeschränktem Profil starten

Ich bin ja eher ein Webentwickler als ein Administrator, aber ab und zu bleibt es einem nicht erspart sich auch um die Rechner der anderen Kollegen zu kümmern. Ein sehr häufig auftretendes Problem ist dabei das Installieren von Programmen oder Updates. Da in unserem Büronetzwerk natürlich nicht jeder Benutzer ein Hauptbenutzer und schon gar kein Administrator ist, muss man dort als Admin tätig werden.

Zu Beginn meiner Admintätigkeit habe ich oftmals den Benutzer abmelden müssen aus Unwissenheit darüber, wie man unter einem eingeschränkten Profil ein Programm als Admin starten kann. Mittlerweile habe ich aber gelernt, dass man über die Kombination „Rechte Maustaste -> Ausführen als…“ sehr einfach eine Installation als Admin ausführen kann.

Weiterlesen →

Der Internet Explorer ist tot! Lang lebe der Internet Explorer!

Schon vor längerer Zeit hat Google angekündigt den Support für den Internet Explorer 6.0 für die meisten seiner Dienste nicht mehr fortzusetzen. Zu dieser Aussage gibt es jetzt auch ein genaues Datum, ab wann der Support eingestellt werden soll. Der Stichtag ist demnach der 13. März 2010. Was anschließend beim Aufruf der entsprechenden Dienste mit dem Internet Explorer 6.0 zu sehen sein wird konnte ich noch nicht erfahren.

Da ich aber, wie in meinem Artikel Internet Explorer 6 unter Windows 7 nutzen mit dem Windows XP Mode beschrieben habe, selbst noch eine Installation des IE6 auf meinem Laptop laufen habe, werde ich euch dann berichten, ob die Dienste noch nutzbar sind. Auf der Homepage von YouTube ist für Nutzer des Internet Explorers schon länger ein Hinweis zu sehen, der zum Update des Browsers auffordert:

Weiterlesen →

Öffentlich-rechtlich und vorbildhaft – So muss eine Web 2.0 zu Olympia aussehen

An dieser Stelle muss ich mal ein Lob loswerden. Zurzeit laufen ja die Olympischen Winterspiele in Vancouver und Whistler. Und natürlich ist die Präsenz im Web auch extrem hoch. Im Fernsehen sind die Spiele vor allem in ARD und im ZDF im Free-TV und bei den digitalen Kanälen der beiden Öffentlich-rechtlichen zu sehen. Das erwartet man auch, denn dafür zahlen wir ja auch brav unsere Gebühren.

Was man nicht unbedingt erwartet und was mich sehr überrascht hat ist der sehr gute Web 2.0 auftritt. Es ist immer sehr gut zu sehen, auf welchen Kanälen gerade etwas live zu sehen ist und was gerade für neue Entscheidungen gefallen sind. Außergewöhnlich ist allerdings, wie dynamisch sich die Seite an die eigenen Interessen anpassen lässt:

Weiterlesen →

Blog nativ an IE6 angepasst und neues Plugin installiert

Da ich jetzt etwas mehr Zeit habe mich mit dem Finetuning des Themes zu befassen habe ich die CSS Dateien nun endlich an den IE6 angepasst, sodass der Chrome Frame, den ich in meinem Artikel Blog oder Website fit machen für den IE6 vorgestellt habe, nicht mehr unbedingt notwendig ist. Allerdings muss ich noch die transparenten PNGs durch transparente GIFs ersetzen, was ich wohl morgen noch nachholen werde. Ich hoffe mal, dass der Autor des Themes Chris Wallace dann meine überarbeitete und lokalisierte Version mal endlich ins WordPress Verzeichnis aktualisiert.

Außerdem habe ich mich dazu entschlossen ein Plugin zu installieren, mit dem man über neue Kommentare zu einem Artikel per E-Mail benachrichtigt werden kann. Um dabei auch den deutschen Richtlinien zu entsprechen habe ich ein Plugin mit dem sogenannten Double-Opt-In Verfahren gewählt. Es heißt dann auch treffenderweise Subscribe To „Double-Opt-In“ Comments. Da es aber leider nicht in mehreren Sprachen vorliegt und auch nicht wirklich angepasst werden kann, habe ich überall sowohl den deutschen als auch den englischen Text angegeben.

Bisher habe ich aus genau dieser fehlenden Unterstützung von Mehrsprachigkeit noch keines dieser Plugins eingesetzt. Aber Tanja hatte mich in einem Kommentar gebeten ein solches Plugin einzusetzen. Da ich solche Funktionen auch selbst auf vielen anderen Blogs nutze habe ich nun also für euch alle diese neue Funktion im Angebot. Ihr könnte aber natürlich auch weiterhin einen RSS-Feed für die Kommentare zu einem Artikel abonnieren.

Ich hoffe, dass euch die Änderungen gefallen. Wenn ihr noch andere Plugins kennt, die die Nutzung des Blogs für euch komfortabler machen würde, dann könnt ihr mir gerne diese Plugins vorschlagen.

Kleinere Anpassungen am Theme des Blogs

Ich habe mir heute mal die Zeit genommen ein bisschen weiter am Theme des Blogs zu feilen. Zuerst einmal fand ich die Übersichtsseiten nicht sehr übersichtlich. Es war nicht so einfach zu erkennen wo ein Post aufhört. Daher habe ich dazu entschlossen jeweils nur den ersten Artikel komplett anzuzeigen und alle weiteren nur gekürzt. Dazu musste ich aber auch erst einmal in allen Artikeln das <!–more–> Tag einfügen.

Dabei habe ich dann aber auch leider ein Problem festgestellt. Leider scheint das <!–more–> Tag nicht mit dem qTranslate zusammen zu funktionieren. Es kam dann zu dem Effekt, dass in der englischen Version der gesamte Artikeltext nicht mehr angezeigt wurde. Das war natürlich kein Zustand und daher bekommen meine Leser der englischen Version erst einmal noch alles zu sehen.

Eine letzte Änderung betraf einen Übersetzungfehler. Ich habe das Theme selbst komplett lokalisiert und übersetzt und dabei die Texte „Neuere Artikel“ und „Ältere Artikel“ vertauscht, was mich auch verwirrt hat.

Was haltet ihr von den Anpassungen? Möchtet ihr lieber wieder alle Artikel immer komplett sehen? Oder findet ihr es auch besser erst einmal einen Überblick zu bekommen? Ich würde mich also freuen, wenn meine „Stammleser“ mir dazu ein kurzes Feedback geben könnten.