#php
#php
Вопрос:
Я пытаюсь использовать GET в php, когда я смотрю на URL-адрес запроса, он включается туда, но при использовании $_GET['data']
для извлечения из запроса он показывает, что поле не существует или не определено.
Примечание: В localhost проблема не возникает, только в live hosting.
Localhost, Xampp с Apache и MySQL, Windows 7, PHP-5.6
Живой хост: PHP-5.6
В DevTools (Chrome):
Request URL: https://XXXXXXXXXXXX/admin/sorter.php?action=sortamp;data={"query":"KVKfHQWE60uw4aFL2dYSp4nAWXk78irL7MmY4Bp7WMvBPg_PLUS_CdsZftwVxC7E2gjlSABpcr0hKYxOR3Ua6jgKCHIJbBlru35ZYCGwXSx6ky_PLUS_j0n4xB3BzDQYrxnhkEVl8_SLASH_7MmY4Bp7WMteLWJpMFo2q54pQXhWVwElglsGWu7fllj6qcS3HGrAJtSD1j_SLASH_rL4tbfDoJEgL1fEqKiuSyD72Gaq1WpzBRaMAzm_PLUS_FgRu1cs6Cm0zTdOI1vVeOByw0tU6R0ZHFdDLUHJei1jkRxe_SLASH_4EvOkySZIDEDI0btRsLmQBWguSS0cl5OkttdtJ7s9A8GR8qKCbs_PLUS_EhJjGTH9VixaDp4cmlij4YKeVgTjsI9zmwYeiq7BVTGK6a9ULdgbEvEI2Aduqce1kuQGx1ClL2AsOVPpLu48c1oFoWisqYI7qmM1V74kRVBXIfyw_EQUALS__EQUALS_","num":"1","table":"work_order","sortby":"ASC","field":"w.wo_no"}amp;archive_list=false
Метод запроса: GET
Строка запроса:
action: sort
data:{
"query":"KVKfHQWE60uw4aFL2dYSp4nAWXk78irL7MmY4Bp7WMvBPg_PLUS_CdsZftwVxC7E2gjlSABpcr0hKYxOR3Ua6jgKCHIJbBlru35ZYCGwXSx6ky_PLUS_j0n4xB3BzDQYrxnhkEVl8_SLASH_7MmY4Bp7WMteLWJpMFo2q54pQXhWVwElglsGWu7fllj6qcS3HGrAJtSD1j_SLASH_rL4tbfDoJEgL1fEqKiuSyD72Gaq1WpzBRaMAzm_PLUS_FgRu1cs6Cm0zTdOI1vVeOByw0tU6R0ZHFdDLUHJei1jkRxe_SLASH_4EvOkySZIDEDI0btRsLmQBWguSS0cl5OkttdtJ7s9A8GR8qKCbs_PLUS_EhJjGTH9VixaDp4cmlij4YKeVgTjsI9zmwYeiq7BVTGK6a9ULdgbEvEI2Aduqce1kuQGx1ClL2AsOVPpLu48c1oFoWisqYI7qmM1V74kRVBXIfyw_EQUALS__EQUALS_",
"num":"1",
"table":"work_order",
"sortby":"ASC",
"field":"w.wo_no"
}
archive_list: false
PHP-код:
print_r($_GET);
Вывод:
Array
(
[action] => sort
[archive_list] => false
)
Я ожидаю, что оно будет отображаться как
Вывод:
Array
(
[action] => sort
[data] => {query etc.}
[archive_list] => false
)
Ответ №1:
в качестве решения моей проблемы я реализую код, который проверяет, отсутствует ли поле «данные«, а затем получает «данные» с помощью parse_url.
if (!(isset($_GET['data']))){
$url = $_SERVER['REQUEST_URI'];
$n_data=(parse_url($url));
parse_str($n_data['query'],$output);
$data= json_decode($output['data'],true);
}
Если есть, можете ли вы посоветовать, есть ли какая-либо фильтрация, которая удаляет переменную GET [‘data’] при обработке PHP. я уже проверяю свои коды, там нет перенаправления или каких-либо других, которые изменяют GET [‘data’] .