Eğer HTML düzenleme niyetinde değilseniz, bu yapmanız aradığınızı yapmak için izin verir; o $_REQUEST
superglobali doldurmak ve içeriğini üzerine yazılır.
O Üçlü Kısayol Operatörü kullanır çünkü bu, PHP Sürüm 5.3 varsayar. Bu kaldırılabilir.
$rawget = isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : false;
$rawpost = file_get_contents('php://input') ?: false;
$target = $rawget;
$_REQUEST = array();
if ($target !== false) {
$pairs = explode('&',$rawget);
foreach($pairs as $pair) {
$p = strpos($pair,'=');
if ($p === false && !empty($pair)) {
$_REQUEST[$pair] = null;
}
elseif ($p === 0 || empty($pair)) {
continue;
}
else {
list($name, $value) = explode('=',$pair,2);
$name = preg_replace('/\[.*\]/','',urldecode($name));
$value = urldecode($value);
if (array_key_exists($name, $_REQUEST)) {
if (is_array($_REQUEST[$name])) {
$_REQUEST[$name][] = $value;
}
else {
$_REQUEST[$name] = array($_REQUEST[$name], $value);
}
}
else {
$_REQUEST[$name] = $value;
}
}
}
}
Haliyle, bu sadece QueryString / GET değişkenleri işleyecek; de yazı işleme, gibi bir şey için 3 satırı değiştirin
$target = ($rawget ?: '') . '&' . ($rawpost ?: '');
Tüm söyledi edilerek, hala HTML değişen tavsiye ederim, ama ne olursa olsun bu nedenle bir seçenek değilse, o zaman bunu yapmak gerekir.