Twórcy PHP zaimplementowano to w celu obsługi register_globals(), ale jeśli zatrzymali się na dłużej niż jedną sekundę, aby rozważyć konsekwencje, zmieniliby tylko nazwy zaimportowane do przestrzeni nazw zmiennych globalnych, a nie same $ _POST. Nie ma żadnego powodu, aby zmieniać same zmienne żądania ... cóż, poza tym, że PHP nie jest w stanie obsłużyć standardowych formularzy.
Oto rozwiązanie dla zmiennych POST, jak również, co jest prawdopodobnie trudniejsze dla większej liczby użytkowników niż roztwór GET:
function post_data(){
$data=explode('&',file_get_contents("php://input"));
$post=array();
foreach ($data as $var){
list($key,$value)=explode('=',$var,2);
$post[$key]=urldecode($value);
}
return $post;
}
Nie umieszczać kropki w swoich nazwach zmiennych. – Sampson
Co, jeśli po prostu próbujesz zintegrować się z OpenID, który umieszcza kropki w swoich parametrach zapytania? – defines