переменные $ _POST, если сторонние файлы cookie заблокированы в FF и Chrome - PullRequest
1 голос
/ 11 августа 2010

Я пытаюсь создать сайт, на котором пользователь не может включить сторонние файлы cookie.

По какой-то причине я замечаю нулевые переменные $ _POST из простых только в Firefox и Chrome, когда сторонние куки заблокированы (IE в порядке). Это только с POST. Переменные GET из того же скрипта обычно хранят данные.

Я установил высокий уровень конфиденциальности IE, чтобы он "блокировал все файлы cookie без политики конфиденциальности", и это по-прежнему позволяет моим данным POST работать нормально, возможно, потому что у меня есть политика конфиденциальности на каждой странице.

А когда я нахожусь в FF или Chrome и снимаю флажок «блокировать сторонние куки», тогда все нормально. Я получаю обычные значения, которые ожидаю, когда получаю доступ к $ _POST ['foo'].

Кто-нибудь знает, что происходит и как получить данные формы с помощью POST в этой ситуации? Мой код ниже.

Спасибо.

 <form id="submission" enctype="plain" name="submission" method="post" action="../index.php?pub_path=<?php echo $path;?>" >
  <input type="text" id="pubcomments" name="pubcomments" ></input>
  <input type="submit" id="postIt" value="Post to forum"></input>

index.php:

if (isset($_GET['pub_path'], $_POST['pubcomments'])) {

  $path = $_GET['pub_path'];  //shows the path

  $comment = $_POST['pubcomments']; // $comment is null


} 

1 Ответ

0 голосов
/ 21 января 2012

Удалить недействительные enctype - браузер не знает, как кодировать переменные, а PHP не знает, как их декодировать.

Аргумент отправляется правильно как тело запроса в некоторых браузерах (вы можете увидеть это с помощью file_get_contents('php://input')), но неверный заголовок запроса типа содержимого означает, что PHP не будет декодировать аргументы POST в $_POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...