Forum Webscript.Ru

Программирование => Perl => Тема начата: Blizzard от 16 Апреля 2003, 10:50:42

Название: Сэрыыыыы! Очень нужна ваща помощь. Без вас я умер.
Отправлено: Blizzard от 16 Апреля 2003, 10:50:42
Народ. Есть что-то типа мини инет магазина.
Так вот, есть форма где есть вот такой скрол выбор:



Так вот мне надо очень простую вещь, только как это сделать я незнаю :))
Все заказы отправляются на mail1@mail.ru, а надо что бы если человек выберает "выписка счета", то заказ отправлялся бы

на mail2@mail.ru. Все остальное на mail1@mail.ru.

Магазин состоит всего из 2-ух файлов. Прилигаю их вам.
Помогите пожалуйста. Очень надо. Я, чем смогу, помогу вам.

p.s Позиции в корзину кладуться так:

nt/68ext&ue=188.30&posue=188.30">


Корзина вызывается так:

false; " class="information">посмотреть корзину
Название: Сэрыыыыы! Очень нужна ваща помощь. Без вас я умер.
Отправлено: Blizzard от 16 Апреля 2003, 10:56:34
Блин! Сюда эти файлы никак не могу прикрепить :((
Скачать их можно отсюда. Не поленитесь плззз...

http://www.ultrabook.ru/download/const4.txt
http://www.ultrabook.ru/download/reg4.txt
Название: Сэрыыыыы! Очень нужна ваща помощь. Без вас я умер.
Отправлено: Mog. от 16 Апреля 2003, 15:46:15
В reg4 есть my $Mail_admin_TO=\'dostavka@bbb.ru\';   - убери эту строку и вместо неё вставь две
$m1=\'mail1@mail.ru\';
$m2=\'mail2@mail.ru\';

дальше, после строки
my $naznachenie = $Objekt->param("naznachenie");
пишешь строку
if($naznachenie eq "выписка счета"){$Mail_admin_TO="$m2"} else {$Mail_admin_TO="$m1"}

должно помочь
Название: Сэрыыыыы! Очень нужна ваща помощь. Без вас я умер.
Отправлено: Blizzard от 16 Апреля 2003, 16:58:33
Неа. Не помогло :((
Пишет:

Software error:
Global symbol "$Mail_admin_TO" requires explicit package name at /www/comp/vcgi/ultrashop/reg4.pl line 74.
Global symbol "$m2" requires explicit package name at /www/comp/vcgi/ultrashop/reg4.pl line 74.
Global symbol "$Mail_admin_TO" requires explicit package name at /www/comp/vcgi/ultrashop/reg4.pl line 74.
Global symbol "$m1" requires explicit package name at /www/comp/vcgi/ultrashop/reg4.pl line 74.
Global symbol "$Mail_admin_TO" requires explicit package name at /www/comp/vcgi/ultrashop/reg4.pl line 261.
Execution of /www/comp/vcgi/ultrashop/reg4.pl aborted due to compilation errors.
Название: Сэрыыыыы! Очень нужна ваща помощь. Без вас я умер.
Отправлено: NeoNox от 16 Апреля 2003, 17:37:10
Перед этим блоком объяви переменные.
my ($Mail_admin_TO, $m2, $m1);
Название: Сэрыыыыы! Очень нужна ваща помощь. Без вас я умер.
Отправлено: mike от 16 Апреля 2003, 17:37:21
Цитировать
Blizzard:
Неа. Не помогло (

Тогда не убирай $Main_admin_TO совсем, а убери только инициализацию:

my $Mail_admin_TO;
my $m1=\'mail1@mail.ru\';
my $m2=\'mail2@mail.ru\';
Название: Сэрыыыыы! Очень нужна ваща помощь. Без вас я умер.
Отправлено: Mog. от 17 Апреля 2003, 16:26:30
Или убери(закомментируй) строку
use strict;
Название: Сэрыыыыы! Очень нужна ваща помощь. Без вас я умер.
Отправлено: NeoNox от 17 Апреля 2003, 16:41:08
moderator
Mog. давайте только те советы в которых вы уверены. Иначе не стоит ничего советовать.
perldoc perlstyle
You should also always run under use strict or know the reason why not.
Название: Сэрыыыыы! Очень нужна ваща помощь. Без вас я умер.
Отправлено: Mog. от 17 Апреля 2003, 16:55:54
NeoNox, мне не хочется спорить по поводу стиля программирования. Единственно, я считаю, что руководство по стилю это не догма, а рукововодство к действию. Если ты как профи считаешь, что это не так, я готов взять свои слова обратно.
Название: Сэрыыыыы! Очень нужна ваща помощь. Без вас я умер.
Отправлено: NeoNox от 17 Апреля 2003, 17:35:07
Mog. use strict это не только стиль программирования. Это требования(!) во всех более-менее серьезных проектах.
Назови мне примеры модулей на CPAN без use strict.
А для новичков - это возможность наступать на грабли как можно реже и писать код оптимальным образом.
Кстати, я с удовольствием прочитаю новый perlstyle от Mog. - подключайся к разработкам http://lists.perl.org/showlist.cgi?name=perl5-porters.
Я считаю тему исчерпаной. Если есть вопросы - в приват.