![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| r |
|
|||
|
Unregistered |
Приветик Всем!
У меня имеется куча скриптов, в которых содержится вызов форм, их обработка, и т. д. Причём один к примеру скрипт вываливает форму, проверяет данные уже другой, затем вызывается третий он вываливает уже другую форму... Количество скриптов растёт, а на фига енто мне надо? Внимание вопрос: Хочу как нибудь обьединить эти скрипты в один, скажем использовать их как функции, только как мне принимать данные от клиента посредством POST к примеру? |
|||
|
||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Принимай с помощью модуля CGI, можно вообщето и в ручную, но модуль CGI надёжнее. Вот пример:
Удачи. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| r |
|
|||
|
Unregistered |
Простите за назойливость, код работоспособный, огромное спасибо, не могли-бы Вы
мне обьяснить эту строку:
в частности что эта за символ-> b? Это сообщение отредактировал(а) korob2001 - 8.3.2005, 01:51 |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Строка:
print $cgi->b( $param1 ); Метод b, просто оборачивает строку в тэги <B>Строка</B>, т.е. получаем на выходе строку, которая написана полужирным шрифтом. На самом деле, можно описать всю html страничку, только при промоши модуля CGI. Не используя в программе таких записай: print "<center><font color='#ff0000'><b>Hello, world!</b></font></center>"; гораздо красивее так: print $cgi->center( $cgi->font( { -color => '#ff0000' }, $cgi->b("Hello, world!") ) ); Хотя, может это только моё мнение. Это сообщение отредактировал(а) korob2001 - 22.2.2005, 00:54 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
А я так обычно пишу
Так ро моему логичнее и проще Это сообщение отредактировал(а) korob2001 - 8.3.2005, 01:51 |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
;))))) Ну это уже кому как, мне например объектно ориентированный подход более по душе. Но можно конечно и так, только в таком случае нужно следить за пространством имён, да бы не было конфликта. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| r |
|
|||
|
Unregistered |
Всем огромное спасибо, буду про модуль искать мануал.
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| r |
|
|||
|
Unregistered |
1. Там уже качал, и как описывать html теги не видел.
2. И всё равно не получил того что хотел. Вот внизу пример имеется, получается что как не выдавай форму(с помощью CGI.pm etc...) все равно данные обрабатывать будет другой скрипт я не прав? <form method="POST" action="http://localhost/cgi-bin/script.pl"> ... </form> |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Вот, специально для тебя, набросал рабочий пример, простой, гостевой книги. В нём ты не увидешь ниодного HTML тэга, потому как эта программа написана на чистом CGI. Просто скопируй код ниже и сохрани его в файл с любым именем, толко расширение должно быть как у выполняемого файла, как правило .pl или .cgi. Затем можешь, не о чём не волнуясь, запустить его на выполнение через браузер и протестировать его, все необходимые, дополнительные файлы программа создаст сама. Вообще-то данный код получился немного объёмный, но это я сделал специально, что бы ты понял принцип программирования с помощью модуля CGI.pm. Особого контроля вводимой информации я не делал, так как суть была показать рабочий пример CGI.pm программы, а не её безопасность.
Вот код:
Если возникнут вопросы, пиши сюда. Постараюсь пояснить. Удачи. Это сообщение отредактировал(а) korob2001 - 21.12.2005, 00:27 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Opik |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
korob2001
можешь объяснить 2 момента:
и
|
||||
|
|||||
| GoodBoy |
|
||||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 4 Всего: 83 |
Opr
поочередно каждая из переменных $name, $family и $name чистится от пробелов в начале, конце, последовательности из нескольких пробелов заменяются на 1 пробел, а символ µ удаляется... хотя зачем 2 раза $name... видимо просто описка...
если не заданы переменные $name и $family - то им присваюваются значения. unless ( $name or $family ) - то же самое, что и if ( !$name and !$family ) |
||||
|
|||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Opr - GoodBoy уже ответил на твои вопросы, я опоздал. ;))))
GoodBoy - точно я 2 раза указал переменную $name, на самом деле я имел ввиду перменную $mess на месте второй переменной $name. Уже исправил. Это сообщение отредактировал(а) korob2001 - 25.2.2005, 17:51 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
А, и
это для работы с файлами? |
|||
|
||||
| korob2001 |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Да, это для того, что бы блокировать файл при открытии для записи. Используется здесь:
если нужно заблокировать файл, делаем там:
Можно было бы сделать это и в ручную, но лично я предпочитаю юзать модуль Fcntl, тем более он входит в стандартный пакет Perl. Это сообщение отредактировал(а) korob2001 - 26.2.2005, 16:41 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||
|
|||||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |