Приветствую всех!
Как с помошью POSIX shell считать значение переменной QUERY_STRING при использовании метода POST (REQUEST_METHOD=POST)?
Web сервер - Apache!Спасибо.
Вот такая конструкция не помогает:
#!/bin/shecho "Content-type: text/html"
echo ""
echo "<HTML><PRE>"
# Определяет метод GET или POST
if [ "$REQUEST_METHOD"="POST" ]; then
QUERY_STRING=`cat -`
fi
# Отображение имени метода или кодированной строки
echo "Method: $REQUEST_METHOD"
echo "Query String: $QUERY_STRING"Короче страница висит, а при методе GET все отлично работает, правда без проверки на метод.
>Вот такая конструкция не помогает:
>#!/bin/sh
>
>echo "Content-type: text/html"
>echo ""
>echo "<HTML><PRE>"
># Определяет метод GET или POST
>if [ "$REQUEST_METHOD"="POST" ]; then
> QUERY_STRING=`cat -`
минус лишний. не меняет ничего ровным счетом (cat без параметров тож stdin читает)
>fi
># Отображение имени метода или кодированной строки
>echo "Method: $REQUEST_METHOD"
>echo "Query String: $QUERY_STRING"
>
>Короче страница висит, а при методе GET все отлично работает, правда без
>проверки на метод.
возможно cat не получает EOF
попробуйте
QUERY_STRING=`dd count=1 bs=$CONTENT_LENGTH`\^P^/
>Приветствую всех!
>Как с помошью POSIX shell считать значение переменной QUERY_STRING при использовании метода
>POST (REQUEST_METHOD=POST)?
>Web сервер - Apache!
>
>Спасибо.
При методе POST данные передаются НЕ через query_string, а подаются на STDIN вашего скрипта.
размер передаваемых данных в переменной CONTENT_LENGTH.Сообразите сами ? или примерчик на perl подкинуть ?
>При методе POST данные передаются НЕ через query_string, а подаются на STDIN
>вашего скрипта.
>размер передаваемых данных в переменной CONTENT_LENGTH.Метод POST никак не влияет на то, что передается в query_string.
Как уже сказали, query string надо брять из среды, POST данные - с stdin.
> Приветствую всех!
> Как с помошью POSIX shell считать значение переменной QUERY_STRING при использовании метода
> POST (REQUEST_METHOD=POST)?
> Web сервер - Apache!
> Спасибо.echo $_SERVER['QUERY_STRING'];