de.comp.lang.php.* FAQ

11.2. Wie kann ich ohne Formular Variablen an ein Script übergeben?

Antwort von Kristian Köhntopp

Wenn GET-Variablen Zeichen enthalten bzw. zur Laufzeit enthalten können, die nicht im Klartext in URLs auftauchen dürfen (Umlaute, Leerzeichen, Prozentzeichen etc.), muss man die Variablen mit urlencode() codieren, bevor man sie an die URL anhängt. Um die Decodierung muss man sich im Normalfall nicht kümmern, das geschieht automatisch. Mit folgendem Script lassen sich mehrere Werte - übergeben als array(Variable => Wert) - bequem codieren:

<?php
function req_url($url, $para) {
  $sep = "?";

  if (! is_array($para))
    return $url;

  foreach ($para as $k => $v) {
    $url .= sprintf("%s%s=%s",
      $sep,
      $k,
      urlencode($v)
    );
    $sep = "&amp;";
  }

  return $url;
}

$p = array(
  "a" => "b",
  "c" => "d"
);

$url = req_url("beispiel.php", $p);
?>
Klicke auf das <a href="<?php print $url ?>">Beispiel</a>.

Valid HTML 4.01! Valid CSS!

11.2. Wie kann ich ohne Formular Variablen an ein Script übergeben?
http://www.php-faq.de/q/q-variable-uebergeben.html
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team