Аналог Query_string для метода Post
Подскажите, пожалуйста есть ли переменная в PHP которая содержала бы всю информацию переданную методом POST (аналог QUERY_STRING для GET), чтоб можно было ее потом самому обрабатывать.
Это не шутка-ли?
Все данные, которые передаются от браузера в PHP лежат в массиве $_REQUEST. Или по отдельности соответственно в $_GET, $_POST, $_COOKIES.
Это не шутка-ли?
Все данные, которые передаются от браузера в PHP лежат в массиве $_REQUEST. Или по отдельности соответственно в $_GET, $_POST, $_COOKIES.
Да, но там они уже лежат в виде массива, а мне нужно в виде одной переменной. Неспорю, что можно циклом пройтись и сделать строку, но какой смысл, если по идее оно изначально должно быть в виде однйо строки в какой то переменной, толчно так же как Query_string содержет все что содержится после "?"
Да, но там они уже лежат в виде массива, а мне нужно в виде одной переменной. Неспорю, что можно циклом пройтись и сделать строку, но какой смысл, если по идее оно изначально должно быть в виде однйо строки в какой то переменной, толчно так же как Query_string содержет все что содержится после "?"
Смысл в том, что метод GET передаёт слишком мало данных, которые могут уместиться в строку. Методом POST можно передать много данных. Причём разнотипных, которые могут никак под определение строки не попадать. Например рисунки, архивы, да и просто текст с разделителями \n. Отсюда вывод - аналога Query_string для метода POST не существует.
Риторический вопрос: зачем это нужно?
Смысл в том, что метод GET передаёт слишком мало данных, которые могут уместиться в строку. Методом POST можно передать много данных. Причём разнотипных, которые могут никак под определение строки не попадать. Например рисунки, архивы, да и просто текст с разделителями \n. Отсюда вывод - аналога Query_string для метода POST не существует.
Риторический вопрос: зачем это нужно?
нужно это для панели управления. я пишу логирование ее работы, и мне бы хотелось в логах видеть все включая информацию передоваемую методом Post дабы при возникновении неприятностей можно было найти откуда грабли..
А если текста передаётся на сотню килобайт?
Проблема-то надуманная...
Чтобы граблей не было, нужно просто передаваемые данные препарировать.
Получит все данные, которые сервер отправил методом POST можно через STDIN
Только учти, что при передаче методом POST данные могут быть в разных форматах.
Вообще, самый правильный вариант в твоем случае, это:
Вообще, самый правильный вариант в твоем случае, это:
А как он потом этот лог будет разбирать, если в какой-нибудь переменной $_POST['txt'] пятнадцать строк текста?
А как он потом этот лог будет разбирать, если в какой-нибудь переменной $_POST['txt'] пятнадцать строк текста?
Все дело в том что там не может быть 15 строк текста, восновном в панели всякие селекты и смены паролей... так что тут проблем не бдует. Проверка значений это хорошо, но всегда остается шанс того что кто то окажется проворней и найдет дырку. Искать же как поломали удобней имея максимум информации.
Все дело в том что там не может быть 15 строк текста, восновном в панели всякие селекты и смены паролей... так что тут проблем не бдует. Проверка значений это хорошо, но всегда остается шанс того что кто то окажется проворней и найдет дырку. Искать же как поломали удобней имея максимум информации.
Во! И я о том же.
Чтобы не поломали - каждое поле нужно препарировать, прежде чем в базу постить.
Что касается "там не может быть 15 строк", то это ты сейчас так думаешь. А через три с половиной месяца ты добавишь туда textarea и что - будешь логгер весь переписывать оперативно?
Неправильно всё это.
Вообще, для предотвращения всякого лома через поля массивов существуют незамысловатые htmlspecialchars, addslash и просто ereg_replace. Этого больше чем достаточно, чтобы избежать неприятностей в описанном случае.