PHP Blogger

Startseite Schreib mir ne Mail! RSS Abo Webnews

Archiv für Quick Hacks

Den Unix Timestamp mit Flash berechnen

Der PHP Blogger geht heute fremd mit Actionscript ;) Ein kleiner Quick-Hack für zwischendurch. Den aktuellen Unix-Timestamp mit Actionscript rauszukriegen ist super einfach.

Man muss sich nur die aktuellen Microsekunden seit 1970 zurückliefern lassen, durch 1000 teilen und abrunden:

Math.floor(new Date().getTime() / 1000)

Schau Dir im Downloadordner die Demo Datei (*.fla) an…


SEO: www in der URL erzwingen

Immer wieder hört man in Bezug auf SEO über das Problem von “concurrent hosts” - Ein Projekt wird in den meisten Fällen über mehrere Domainnamen betrieben und zugänglich gemacht. Soweit so praktisch - wären da nicht die Suchmaschinen, die das ab und zu als SE-Spam werten und die betreffenden Seiten im Pagerank herabstufen.

Um das Chaos komplett zu machen, sind die meisten Domains mit und ohne die Subdomain www zu erreichen. Aber erst mal zur Beruhigung: Suchbots sind in diesem Fall sehr tolerant und legen nicht jedes www auf die Goldwaage :) Trotzdem sollte man darauf achten, das eine Seite im internet immer nur über eine einzige URL erreichbar ist.

Warum und wie man das erreicht, dazu mehr für alle die weiterlesen…

Den kompletten Artikel lesen »


mod_rewrite - Trailing Slash

Wir hören ja immer wieder, dass sich manchmal die Technologie hinter einer Webseite ändert und nichts wäre schlimmer, als die kostbaren Bookmarks unserer User, die wieder in die dritte Navigtionsstruktur deep-linken zu vergrämen, weil jetzt plötzlich die Seite login.php eben login.jsp heißt. Also ist es besser, wenn man die Extension direkt mal in die Tonne wirft und nur noch URLs nach dem Motto www.phpblogger.net/login hat. Noch besser und da streiten die Geister, sind Verzeichnisse. www.phpblogger.net/login/

Warum weiß ich nicht, aber ich wollte jedenfalls in meiner Applikation, dass es Verzeichnisse sind. Doch dann stellte ich fest, dass zum Beispiel der Internet Explorer in der Adress-History plötzlich den Trailing Slash vermissen ließ und ich damit aufgeschmissen wäre… Ihr fragt euch sicher, was das Problem ist, weil die meisten Webserver mittlerweile in einem solchen Fall nach einem Verzeichnis mit dem Namen suchen, wenn die Datei nicht gefunden wird, doch was ist wenn weder die Datei noch das Verzeichnis physikalisch auf dem Datenträger existieren?

Den kompletten Artikel lesen »


SSL erzwingen

Gegeben ist ein Loginbereich. Der beginnt in den meisten Fällen mit einer Anmeldemaske (andernfalls ist er via SSO -> Single Sign On zugänglich) und besteht aus X-Seiten. Wer es sich leisten kann und nicht unbedingt Hobby-Schrauber ist, hat ein SSL-Zertifikat im Einsatz. Blöd, wenn es nicht genutzt wird.

Ich habe mir Gedanken gemacht, auf welche Art und Weise man SSL erzwingen kann.

Den kompletten Artikel lesen »


UTF-8 Kodierung von Word-Sonderzeichen

Eine Stelle, an der häufig der Hund begraben liegt, ist die Kodierung von Word-Special-Zeichen wie schickeren Anführungszeichen… Ein kleiner Quick-Hack für Zwischendurch zeigt, wie man das Problem schnell beseitigen kann. Es macht Sinn, gerade solche Zeichen über htmlentities zu maskieren. Damits besonders unproblematisch läuft, hier eine Lösung, die auch Umlaute wie äöü und ß berücksichtigt:

$entity_string= preg_replace('/[^<>&!-%x27-;=?-~ ]/e’,
‘”&#”.ord(”$0″).chr(59)’,
‘äöüß - So ein riesen Mist!’);

Den kompletten Artikel lesen »


htmlentities und UTF-8

Sergej hat festgestellt, was sicherlich schon mehreren Entwicklern (mir eingeschlossen) aufgefallen ist: Sowohl htmlentities als auch html_entity_decode unterstützen kein UTF-8. Das ist aus meiner Sicht zwar kein Bug, aber auf jeden Fall ein fehlendes Feature.

Statt eine Applikation von UTF-8 auf ISO downzugraden, ist es ratsam den selben Weg wie Sergej einzuschlagen - mit Workarrounds. So erhält man eine konsistente mehrsprachige Applikation und kann sich auch über japanische und kyrillische Besuche und Kommentare freuen! ;)

Kleine Ergänzung übrigens zur Umsetzung seines Workarrounds: Gut ist, dass er nicht die Zeichen an sich einbettet, sondern auf die Ascii-Notation zurückgreift. Dadurch kann er prima in Nicht-UTF-8 Code UTF-8 Zeichen darstellen - die Sourcen sind eben meistens doch ISO…

Und noch ein Update: Als dritten Parameter kann man für die Funktion htmlentities seit PHP 4.1 auch die Kodierung des String übergeben - z.B. “UTF-8″ das verspricht auf jeden Fall Besserung!


PHP 5 Konstruktor unter PHP 4 einsetzen

Abwärtskompatible Bibliotheken und Applikationen sind in PHP in Zeiten des Umbruchs immer schwieriger herzustellen. Mit jeder PHP Version ändern sich Funktionen, Objektorientierung und vieles andere. Der stärkste Schnitt zwischen PHP 4 und 5 war und ist immer noch die “neue” Konstruktor-Notation:

function __construct()
{
}

Irgendwie hab ich immer noch nicht so ganz genau gepeilt, was den Ausschlag zu der von den PHP Entwicklern gewählten Notation geführt hat. Ich finde es auf jeden Fall furchtbar.

Den kompletten Artikel lesen »


MAXLENGTH = “tot”

Ich bin schockiert! Da dachte ich immer man kann mir bei Standard-HTML-Tags nix vormachen und jetzt stelle ich fest, dass TEXTAREA gar keine MAXLENGTH-Angabe versteht. Ich verstehe die Welt nicht mehr.

Wahrscheinlich schmunzeln ein paar (oder gar alle!?), wie einem Entwickler der seit mehreren Jahren Webseiten baut durch die Lappen gehen kann, das es dieses Attribut in der TEXTAREA-Konstellation gar nicht gibt. Peinlich, kann ich da nur sagen.

Für alle, die es auch nicht wussten - Da hilft nur ein kleiner JS-Workarround:

<textarea onkeyup="this.value= this.value.substr(0, 70);">
</textarea>

« Neuere Artikel