10.8 Einen GET-Query-String bilden

Problem

Sie müssen einen Link aufbauen, der in einem Query-String Name/Wert-Paare enthält.

Lösung

Codieren Sie die Namen und Werte mit urlencode() und erzeugen Sie den Query-String mit join():

$vars = array('name' => 'Oscar aus der Mülltonne',
              'farbe' => 'grün',
              'lieblingszeichen' => '#');
$querystring = http_build_query($vars);
$url = '/muppet/select.php?' . $querystring;

Diskussion

Die in der Lösung gebildete URL ist:

/muppet/select.php?name=Oscar+aus+der+M%FClltonne&farbe=gr%FCn&lieblingszeichen=%23

Im Query-String sind die Leerzeichen als + codiert. Sonderzeichen sind hexadezimal codiert. Zum Beispiel ist das # als %23 codiert, da der ASCII-Wert von # 35 ist, und das ist als Hexadezimalzahl 23.

Obwohl http_build_query() ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.