phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?Parameter=FCbergabe?= durch URL (HTML konform)

[php] =?iso-8859-1?Q?Parameter=FCbergabe?= durch URL (HTML konform)

Sebastian Bergmann sebastian.bergmann_(at)_web.de
Thu, 08 Jun 2000 08:48:48 +0200


Hi,

leider unterstützt PHP nur das &-Zeichen als Delimiter, um mehrere
Parameter über die URL an ein Skript zu übergeben.

  Beispiel:  http://foo/bar.php?variable1=wert1&variable2=wert2

Will man eine solche Seite dann mit dem W3C Validator
(http://validator.w3.org/) checken, so bekommt man eine Fehlermeldung,
daß in diesem Fall "&variable2" keine HTML Entity ist.

Mit dem folgenden Code-Fragment ist es möglich, gemäß den W3
Konventionen mit ";" als Delimiter, Parameter an ein PHP-Skript zu
übergeben:

<?php
  $name_of_first_var = "show";

  $args = split( '[;=]', $$name_of_first_var );
  $$name_of_first_var = $args[0];

  $i = 1;

  while( $i < count( $args ) )
  {
    $$args[$i] = $args[$i+1];
    $i+=2;
  }
?>

Das einzige unkomfortable an dieser Lösung ist, daß man den Namen der
ersten Variablen, in diesem Fall "show", vorgeben muß.

  Beispiel:  http://foo/bar.php?show=test;test=show

Funktioniert wunderbar, in $show steht "test" und in $test steht "show".

Schöner wäre es natürlich, wenn PHP sowas native unterstützen würde :)

-- 
 Homepage : http://gravedancer.rc5.de \ eMail: sebastian.bergmann_(at)_web.de

 PHP-Stand auf Europas größter Linux-Messe: 'Linux-Tag' !
 weitere Infos _(at)_ http://www.dynamic-webpages.de/



php::bar PHP Wiki   -   Listenarchive