Bananas Development Blog: share your thoughts

Wie man es nicht machen sollte. Facebook fuckup

Oh man, wer bei Facebook kann eigentlich über seine Arbeit nachdenken ?
Sind die alle nur zum programmieren dort und haben keine Luft zum nachdenken, was die da eigentlich machen ?

Facebook reagiert darauf mit der Antwort: "Falsche E-Mail-Adresse. Die von dir angegebene E-Mail gehört zu keinem Konto." Bei einem falschen Passwort zu einer registrierten Adresse bekamen wir im Unterschied dazu die Fehlermeldung: "Das von dir eingegebene Passwort ist falsch."


WTF ??

Das ist doch das erste was man lernt wenn man eine Anwendung macht die eine Anmeldung braucht !!!

Denn so kann man ja locker herausfinden welche E-Mail Adresse schon verwendet worden ist und welche nicht.

Man, echt so was lernt man doch, oder ?

Bug in der Facebook-Benutzeranmeldung gab Daten preis
Dieses soziale Netzwerk kommt derzeit nicht zur Ruhe. Zum dritten Mal in Folge treten Fehler beim Login-Vorgang auf. Heute weist das britische IT-Portal "The Register" auf den neuesten Bug hin, der auch die deutschen Anwender betrifft.


Zend Debugger Extension for Chrome and Breakpoints

Es gibt eine nicht offizielle Extension der ZendStudio Toolbar für den Chrome

Dabei hatte ich aber ein Problem, wie in diesem Beitrag beschrieben.

Der Debugger startet wie gewohnt, ignoriert aber die Breakpoints. Wenn man also zu einem Breakpoint springen möchte, dann hat man ein Problem. Das Debuggen wird einfach beendet.

Die Lösung ist wie folgt:

Ruft die Extensionübersicht auf ( zb. via chrome://extensions/ ) oder über das Menü.
Dort wählt ihr bei der Zend Debugger Extension - Version: 0.5 -> Options aus.
Das sollte eigentlich auch über das Symbol der Extension gehen, bei mir geht das aber nicht.
In diesem Fenster macht man einen Haken bei Debug local copy(if available).
Danach sollten die Breakpints funktionieren.

Viel Erfolg mit der Extension und dem debuggen in Chrome

Zur Info:
Chrome: 5.0.375.70 (0)
Zend Debugger Extension: 0.5
ZendStudio: 7.2.0

15 Jahre PHP

Jup so lange gibt es schon PHP.

Am 8. Juni 1995, heute vor 15 Jahren, hob Rasmus Lerdorf mit einem Posting in der Usenet-Newsgruppe comp.infosystems.www.authoring.cgi PHP aus der Taufe. Die "Personal Home Page Tools", die er seinerzeit in der Version 1.0 verkündete, waren ursprünglich als Werkzeug gedacht, um Bewerbungsanfragen auf einer Website zu verwalten.

15 Jahre PHP

Google Analytics Daten in eigener Anwendung benutzen

Jeder kennt ja Google Analytics.

Nun gibt es einen Weg via PHP die Informationen und Daten die Analytics erstellt abzufragen und somit in externen Anwendung darzustellen.

Wie das alles geht und was man dazu braucht hat Sameer in einem Beitrag zusammengestellt.

Although no standard library is available from Google for PHP, some small and easy interfaces are available out there. In this post we will see how to access Google Analytics data using PHP using the GAPI library.

Reading Google Analytics data from PHP



Benutzereingaben sind böse. Das Sollte man sich merken

Jeder der schon mal eine Anwendung erstellt hat, die auf Benutzereingaben wartet oder angewiesen ist, kommt an eine Stelle an der man überprüfen muss, ob das was der Benutzer eingiebt auch richtig ist. +

Die Eingabe soll ja verstanden werden aber den Benutzer auch nicht hindern etwas einzugeben.
Am einfachsten sind Dinge die der Benutzer nur auswählen muss, denn da ist das was an das Programm weiter gereicht wird schon vorgegeben.

Soll nun aber der Benutzer die Möglichkeit haben zb. einen Freitext einzugaben, dann wird es schon ein wenig schwieriger. Denn was soll passieren wen der Benutzer Eingaben macht, die nicht vorgesehen sind ?

Wie man das machen kann und welche Probleme es gibt habe ich schon mal behandelt.

Nun folgt ein Beispiel wie man es NICHT machen sollte. Leider wurde dem Benutzer zu viel vertrauen zugesprochen.

Deutsche Metal-Band sorgt für Twitter-Chaos
Lady Gaga, Barack Obama oder Britney Spears - nach Lust und Laune konnten sich Twitter-Nutzer prominente Follower aussuchen. Eine deutsche Heavy-Metal-Band aus den Siebzigern soll zur Entdeckung des Programmierfehlers beigetragen haben - für dessen Behebung zeitweilig sämtliche Follower ausgeblendet wurden.


Ich weis das ist nichts neues aber ein tolles Beispiel wie man es nicht machen sollte...



isset kann auch mehrere Parameter auf einmal

Das isset mehrere Parameter gleichzeitig auswerten kann wusste ich bisher noch nicht.

Aber es geht wie folgt:
if(isset($var1, $var2, $var3, $var4)) {
// will be here only if all $var* are set
}


-> ‘isset’ construct and multiple parameters



Reguläre Ausdrücke. Man lernt nie aus

Reguläre Ausdrücke sind Fluch und Segen und man lernt nie aus.

Regular Expressions are the Swiss Army knife for searching through information for certain patterns. They have a wide arsenal of tools, some of which often go undiscovered or underutilized. Today I will show you some advanced tips for working with regular expressions.
Advanced Regular Expression Tips and Techniques

Pivot Tabellen mit PHP

Gonzalo Ayuso hat sich mal die Mühe gemacht eine PHP Klasse zu erstellen mit der sich Pivot Tabellen leichter erstellen lassen.

Damit kann man dann bei seinem nächsten Projekt seinen BWL'er beeindrucken.

Pivot tables in PHP

Kleine PHP Dinge die man nicht machen sollte

Es sind nicht wirklich neue und wichtige Dinge, aber solche die man auf jedenfall nicht mehr machen sollte. Manche lassen sich allgemein auf jeden Art von Programmier/Scrip Sprachen anwenden und nicht nur auf PHP.

PHP mistakes, misconceptions, bad practices and blatant no nos.

PHP Error Reporting

Argh.

Bitte, bitte immer so machen:

/**
** set the error reporting
** DEBUG has to be false in live enviroment !!
**/
if(DEBUG === true) {
ini_set('error_reporting',8191); // E_ALL & E_STRICT
ini_set('display_errors',true);
}
else {
ini_set('error_reporting',8191); // E_ALL & E_STRICT
ini_set('display_errors',false);
ini_set('log_errors',true);
ini_set('log_errors_max_len',"10M");
ini_set('error_log','path/to/error/error.file');
}

Danke.

Das erspart SEHR viel Ärger !!

Argh, not again. dot-to-underscore conversion

Eigentlich müsste ich es wissen.

Aber nein der Herr hat ja mal wieder nicht aufgepasst.
Denn ansonsten würde es ja funktionieren...grr...

Also diese Sache mit der dot-to-underscrore conversion:
Note: Dots and spaces in variable names are converted to underscores. For example <input name="a.b" /> becomes $_REQUEST["a_b"].

- http://us2.php.net/variables.external
greift leider euch bei session_name().

Wenn man da einen Namen vergiebt der einen Punkt beinhaltet, fällt man auf die Nase.
Denn man greift ja mit $_SESSION oder $_COOKIE wieder auf die Daten zu und durch den Punkt findet man die Daten nicht mehr.

Da ich ein bestehendes System kopiert habe und aber nur den Sessionname geändert, kam ich da nicht so schnell drauf.

Junge, Junge.

Also schreibt euch das hinter die Ohren.

PHP und Datenbanken. Beispiele

Hier sind Beispiele wie man sich mit den verschiedesten Datenbanktype in Verbindung setzten kann:

We can use mysql_connect and mysql_select_db functions to create our connections. For closing the connections there is mysql_close function. These are basic functions of managing connections in PHP. There are also a lot of classes made by developers for free.


Database Connections in PHP

Parse und HTML mit PHP bearbeiten

PHP Simple HTML DOM Parser

• A HTML DOM parser written in PHP5+ let you manipulate HTML in a very easy way!
• Require PHP 5+.
• Supports invalid HTML.
• Find tags on an HTML page with selectors just like jQuery.
• Extract contents from HTML in a single line.


PHP Simple HTML DOM Parser

Banana
out.

Die Suche dem rechten Framework

Ich hatte ja mal schon was über die PHP Frameworks geschrieben.

Nun hat sich jemand mal die Arbeit gemacht noch mehr Frameworks zu vergleichen und auch noch in unterschiedlichen Programmiersparchen.
Das alles noch dazu graphisch schöne aufbereitet:

best web frameworks

Zu jedem Framework gibt es auch noch eine ausfürliche Erklärung.

banana
out.

modx: PHP/MySQL CMS

Bin gerade über ein OpenSource CMS gestolpert und fande den erstern Eindruckt schon mal ganz gut.

MODx helps you take control of your online content. An Open Source Content Management Framework, it frees you to build sites exactly how you want and make them 100% yours. Zero restrictions and fast to build. Super-simple templates in HTML/CSS/JS (any lib you want). Registered user systems and a killer community. Welcome to web-building nirvana.


modxcms

Not all CMSes are created equal—though from the list of features, you'd sure think they are. While having a checkbox in every column isn't a true test of the value of a CMS, it can provide a general overview of what can be accomplished in a particular system.

modx features

Mehr zu diesem Thema gibt es hier:
Die Suche nach dem richtigen CMS

Banana
out.