PHP $_POST возвращает пустое значение только на одном ПК

avatar
Mohammad Saberi
9 августа 2021 в 05:19
209
0
0

У меня есть простая форма в моем проекте PHP, использующая метод POST для отправки данных. На большинстве компов все работает хорошо, но странная проблема только на одном из них. Представьте, что это моя простая форма:

<form action="controller/save.php" method="post">
   <input type="text" name="username">
   <input type="submit" value="show">
</form>  

А это мой файл PHP:

<?php  
print_r($_POST);
?>

Во всех случаях он возвращает массив, содержащий значение переменной имени пользователя. Но только в одном случае возвращается

Array()

Я никогда не видел такого поведения и, к сожалению, не мог понять, в чем проблема. Не могли бы вы помочь мне, пожалуйста?

Источник
Phil
9 августа 2021 в 05:23
0

Если проблема возникает только у одного конкретного клиента, то проблема связана с его средой. Проверьте браузер (и расширения) и любые настроенные прокси.

Mohammad Saberi
9 августа 2021 в 05:27
0

Я тестировал его в нескольких браузерах, даже в ограниченных режимах, таких как инкогнито. я ничего не менял!

Phil
9 августа 2021 в 05:27
0

А вы проверяли конфигурацию прокси ОС?

Mohammad Saberi
9 августа 2021 в 05:37
0

На этой машине нет специальной конфигурации для прокси.

Phil
9 августа 2021 в 05:46
0

Вам нужно будет сделать больше отладки. Попробуйте var_dump($_SERVER);. Убедитесь, что это POST-запрос

Mohammad Saberi
9 августа 2021 в 06:01
0

Это POST, так как я получал точные результаты на других машинах. Однако я поставил ваш код и вот что получилось: ["REQUEST_METHOD"]=> string(4) "POST" на всех машинах.

user6683818
9 августа 2021 в 06:03
0

Вы можете попробовать использовать почтальон и сделать сообщение для него

Phil
9 августа 2021 в 06:03
0

Можете ли вы использовать панель браузера dev-tools Network для проверки запроса и, в частности, данных формы? Вам также может понадобиться запустить что-то вроде Wireshark, чтобы проверить запрос на более низком уровне. Здесь мало кто может помочь тебе с этим.

user6683818
9 августа 2021 в 06:07
0

также попробуйте сбросить $_REQUEST, посмотрите, увидите ли вы его там

D B
9 августа 2021 в 06:44
2

Вы также можете var_dump(file_get_contents('php://input')); Входной поток содержит необработанное тело запроса. Если это пусто, у вас проблема на стороне клиента, если есть данные, у вас проблема на стороне сервера.

Don't Panic
9 августа 2021 в 07:38
0

Это может произойти из-за брандмауэра/антивируса, см., например, coderhelper.com/questions/68450092/…

Mohammad Saberi
10 августа 2021 в 10:16
0

@dMd, я не могу использовать post man, так как для этого требуется активная СЕССИЯ. Кроме того, результат $_REQUEST был таким же, как $_POST Array().

Mohammad Saberi
10 августа 2021 в 10:31
0

@DB это был результат string(0) ""

Ответы (0)