Sergey Yalyshev Опубликовано 18 апреля, 2005 Жалоба Поделиться Опубликовано 18 апреля, 2005 Помогите новичку, pls. Вот в html имеется форма с некоторым полем, а action есть cgi-bin скрипт (shell). почему-то не передается значение из поля формы в этот скрипт! Методы пробовал и get и post. Данные в скрипте пытаюсь получить $имя_поля_в_форме. И еще проблема. Скрипт выполняет почему-то не все команды, которые в нем есть. Например, системное время выводит, а графические файлы не генерирует! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
EL[michlen] Опубликовано 18 апреля, 2005 Жалоба Поделиться Опубликовано 18 апреля, 2005 Вы бы сам скрипт приложили =) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Sergey Yalyshev Опубликовано 19 апреля, 2005 Автор Жалоба Поделиться Опубликовано 19 апреля, 2005 Виноват! Вот скрипт #!/bin/sh echo Content-type: text/html echo cat << EOF <html><head> <title>Speed</title> </head> <body> <p> EOF echo $theName if [ ! -z "theName" ]; then echo "Hello, " echo $theName else echo "You don't have a name?!" fi cat<<EOF </p> <p><a href="http://localhost/form.html">Go back</a><p> </body></html> EOF А вот html: <html> <head> <title>Name</title> </head> <body> <h2>Who areyou?</h2> <form method="get" action="/cgi-bin/test-cgi"> <p>Enter your name: <input name="theName"></p> <p><input type="submit"></p> </form> </body> </html> Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Sergey Yalyshev Опубликовано 19 апреля, 2005 Автор Жалоба Поделиться Опубликовано 19 апреля, 2005 я прислал только простейший из моих скриптов, без графики. я понимаю, что все должно быть очень просто, но нехватает знаний Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Sergey Yalyshev Опубликовано 19 апреля, 2005 Автор Жалоба Поделиться Опубликовано 19 апреля, 2005 Виноват! Вот скрипт #!/bin/sh echo Content-type: text/html echo cat << EOF <html><head> <title>Speed</title> </head> <body> <p> EOF echo $theName if [ ! -z "theName" ]; then echo "Hello, " echo $theName else echo "You don't have a name?!" fi cat<<EOF </p> <p><a href="http://localhost/form.html">Go back</a><p> </body></html> EOF А вот html: <html> <head> <title>Name</title> </head> <body> <h2>Who areyou?</h2> <form method="get" action="/cgi-bin/test-cgi"> <p>Enter your name: <input name="theName"></p> <p><input type="submit"></p> </form> </body> </html> Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
EL[michlen] Опубликовано 19 апреля, 2005 Жалоба Поделиться Опубликовано 19 апреля, 2005 Во-первых, по HTTP нужно разделять хедеры двумя переводами строки. Во-вторых, переменные в методах GET и POST получаются по-разному. Может в shell это учтено, но обычно переменные POST доступны через stdin, а GET - через аргументы командной строки. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Sergey Yalyshev Опубликовано 19 апреля, 2005 Автор Жалоба Поделиться Опубликовано 19 апреля, 2005 Попробовал Ваши рекомендации - не помогло! Самое странное, что PHP скрипт работает и значения из полей в форме передает в скрипт исправно! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
EL[michlen] Опубликовано 19 апреля, 2005 Жалоба Поделиться Опубликовано 19 апреля, 2005 Естественно - в PHP переменные обрабатываются автоматом, правда рекомендуется использовать $_POST и $_GET. Насчёт shell не знаю, но, по идее, там такого нет - нужно вручную делать. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Sergey Yalyshev Опубликовано 19 апреля, 2005 Автор Жалоба Поделиться Опубликовано 19 апреля, 2005 А как это, вручную? В книге, которой я пользуюсь, вводится системная переменная (знать бы что это такое в данном случае!): в скрипте при обращении к переменной из поля формы добавлен определенный префикс, типа $WWW_имя_поля_формы. Пробовал... Как бы не так, ха, ха... Короче не знаю что и делать! Может настройки демона httpd надо поменять где-то? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.