2010-11-19 5 views
1

jp.php?q=dog oder jp.php?h=123&f=14 usw. erneut vorlegt (und hinzufügt) Gibt es eine bessere Möglichkeit, die Argumente erneut zu übergeben (außer durch q, h, f, ...) und zB add ' & Aktion = Aktualisieren '? Dieses ist eine versuchte geschleift Version:

$req_str=""; 
foreach($_REQUEST as $req_k => $req_v){ 
$req_str.=$req_k."=".$req_v."&"; 
} 
echo "<a href=jp.php?".$req_str."&action=update >UPDATE</a>"; 

UPDATE

Ich denke, $_SERVER['QUERY_STRING'] ist das, was ich suchte.

Nicht sicher, ob dies funktionieren würde, wenn Variablen über 'POST' anstelle von 'GET' gesendet würden?

Antwort

3
$query = http_build_query(array_merge($_GET, array('action' => 'update'))); 
printf('<a href="jp.php?%s">Update</a>', $query); 
+0

Siehe oben: $ _SERVER [ 'QUERY_STRING'] – ajo

+0

@ajo Siehe oben: 'http_build_query'. Auf diese Weise können Sie sicher sein, dass Parameter nur einmal vorhanden sind. Was ist, wenn in '$ _SERVER ['QUERY_STRING']' schon ein 'action' Parameter vorhanden ist? – deceze

+0

Wenn bereits '& action = ...', würde es den ersten oder zweiten Wert annehmen, wenn zB 'jp.php? Action = stop & q = 1 & action = go'? – ajo

Verwandte Themen