PHP: Zeilennummer ausgeben mit __LINE__

Published 2006-07-21, 13:08

Ach, da code ich nun seit x Jahren mit PHP durch die Gegend und bin nie auf die Idee gekommen, mal zu schauen, ob denn die Zeilennummer, die gerade ausgeführt wird, ausgeben werden kann.

Heute hatte ich dann endlich diese Idee: http://de.php.net/constants.predefined

Das hat man nun vom „Learning by Doing“…

Häufige Fehlerquelle bei mysql_real_escape_string()

Published 2006-07-19, 23:16

mysql_real_escape_string() sollte ja auf jeden String angewendet werden, der in die Datenbank eingetragen wird. Mehrmals passierte es mir nun schon, dass ich auf neuen Servern nach der Ausführung eines Scriptes den Backslash auch in der Datenbank wiederfand. Grund:

Falls Sie magic_quotes_gpc aktiviert haben und mit Daten aus Benutzereingaben arbeiten, müssen Sie vorher Ihre Daten mit stripslashes() behandeln.

So einfach. Muss es mir nur merken. Und den Apache nach der Änderung neu starten.

Vorsicht bei der php-Funktion http_build_query()

Published 2006-07-14, 17:59

Die Funktion http_build_query() kann ab PHP5 dazu benutzt werden aus Arrays einen URL-enkodierten String zu machen. Das ist toll. Vorher musste man sich das selber schreiben:

function http_build_query($formdata, $numeric_prefix = "") {
$arr = array();
foreach ($formdata as $key => $val)
$arr[] = urlencode($numeric_prefix.$key)."=".urlencode($val);
return implode($arr, "&");
}

Aufpassen sollte man jedoch, dass der Parameter „arg_separator.output“ in der php.ini wirklich auf „&“ und nicht auf „&“ eingestellt ist – die angefragten Server nehmen einem das sehr übel. Zusätzlich entdeckt man es im Output des Query-Strings im Browser nicht.

Warum ich das erzähle? Ich habe heute fast eine ganze Stunde damit verbracht. Klasse.

15 queries. 0,103 seconds.