Автор Тема: Help Me!!!!  (Прочитано 4411 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн max2003

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Help Me!!!!
« : 26 Мая 2003, 15:01:28 »
Господа!!!
Помогите со скриптом!!
Ошибка заключается в том, что данные подставляются другие.

листинг скрипта:

$count=$in{\'id\'};

#----------
if ($count == \'id101\'){$ds101 == $in{\'Car\'};
if ($ds101 == \'0\'){$usr101 == 2.0} if ($ds101 == \'1\'){$usr101 == 1.7} if ($ds101 == \'2\'){$usr101 == 1.8}
if ($ds101 == \'3\'){$usr101 == 1.8} if ($ds101 == \'4\'){$usr101 == 1.8} if ($ds101 == \'5\'){$usr101 == 1.8}
if ($ds101 == \'6\'){$usr101 == 1.8} if ($ds101 == \'7\'){$usr101 == 1.8} if ($ds101 == \'8\'){$usr101 == 1.8}
if ($ds101 == \'9\'){$usr101 == 1.8} $ass = @w[2]* $usr101; $rrr =sprintf "%.1f", $ass;}

#----------
if ($count == \'id102\'){$ds102 == $in{\'Car\'};
if ($ds102 == \'0\'){$usr102 == 3.0} if ($ds102 == \'1\'){$usr102 == 1.6} if ($ds102 == \'2\'){$usr102 == 1.7}
if ($ds102 == \'3\'){$usr102 == 1.5} if ($ds102 == \'4\'){$usr102 == 1.5} if ($ds102 == \'5\'){$usr102 == 1.5}
if ($ds102 == \'6\'){$usr102 == 1.5} if ($ds102 == \'7\'){$usr102 == 1.5} if ($ds102 == \'8\'){$usr102 == 1.5}
if ($ds102 == \'9\'){$usr102 == 1.5} $ass = @w[2]* $usr; $rrr =sprintf "%.1f", $ass;}

#----------
if ($count == \'id103\'){$ds103 == $in{\'Car\'};
if ($ds103 == \'0\'){$usr103 == 4.0} if ($ds103 == \'1\'){$usr103 = 1.9} if ($ds103 == \'2\'){$usr103 == 1.7}
if ($ds103 == \'3\'){$usr103 == 1.5} if ($ds103 == \'4\'){$usr103 = 1.5} if ($ds103 == \'5\'){$usr103 == 1.5}
if ($ds103 == \'6\'){$usr103 == 1.5} if ($ds103 == \'7\'){$usr103 = 1.5} if ($ds103 == \'8\'){$usr103 == 1.5}
if ($ds103 == \'9\'){$usr103 == 1.5} $ass = @w[2]* $usr103; $rrr =sprintf "%.1f", $ass;}

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Help Me!!!!
« Ответ #1 : 26 Мая 2003, 15:18:14 »
Э... вот строка
Цитировать
if ($ds101 == \'0\'){$usr101 == 2.0} if ($ds101 == \'1\'){$usr101 == 1.7} if ($ds101 == \'2\'){$usr101 == 1.8}

если где то в ней присвоение нужно (исходя из логики работы), то замени "==" на "=", т.к. "==" это не есть присвоение. Может поэтому
Цитировать
данные подставляются другие
Все болезни от нервов, только сифилис от удовольствия

Оффлайн max2003

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Help Me!!!!
« Ответ #2 : 26 Мая 2003, 17:01:37 »
Заменил на "=", то же самое.
Самое интересное, что при первой загрузке скрипта (с получение данных с формы) скрипт присваивает переменным правильные значения. Но когда заходишь с другими данными с формы он оставляет их прежними. Аналогично с других машин в сети!!!

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Help Me!!!!
« Ответ #3 : 26 Мая 2003, 18:11:51 »
max2003 ты кроме if и == больше никаких операторов не знаешь?
Обьясни мне что делает эта строка if ($count == \'id101\'){$ds101 == $in{\'Car\'};
The documentations is your friend

Оффлайн Alone

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 182
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Help Me!!!!
« Ответ #4 : 26 Мая 2003, 18:14:29 »
Цитировать
max2003:
if ($count == \'id101\'){$ds101 == $in{\'Car\'};

Наверное правильнее былобы
if ($count eq \'id101\'){$ds101 = $in{\'Car\'};

А вот интересно во что превратится скрипт если
idXXX будет лежать в диапозоне id100 - id 901
:)
« Последнее редактирование: 26 Мая 2003, 18:21:00 от Alone »

Оффлайн max2003

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Help Me!!!!
« Ответ #5 : 26 Мая 2003, 18:39:01 »
Уважаемый NeoNox!!!!

Данная строка

if ($count == \'id101\'){$ds101 == $in{\'Car\'};

на мой взгляд значит следующее:

с поля формы с NAME (id) получаем данные и заносим их в переменную $count, далее смотрим соответствует ли она id101, если соответствует, то $ds101 присваиваем данные с другой формы $in{\'Car\'}.....

P.S. NeoNox может Вы и правы на счет операторов..... Обидно.....

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Help Me!!!!
« Ответ #6 : 26 Мая 2003, 18:56:28 »
max2003 на самом деле это оператор сравнения.
Оператор присваивания "=".

Пример:
my $sex = 2;
if ($sex == 1)
{
 print "This is the boy";
}else{
print "This is the girl";
}
При этом $sex все еще остается равной двум.
Надеюсь понятно?
И совет на будующее - если ваша программа состоит только из несметного количества операторов if -проверьте логику, найдете массу ошибок.
The documentations is your friend

Оффлайн max2003

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Help Me!!!!
« Ответ #7 : 26 Мая 2003, 19:06:42 »
Уважаемый NeoNox!!!!

Скоре всего действитель в скрипте потеряна логика, по большему счету if`ов там порядочное кол-во!!!

Спасибо за поддержку!!!!

Оффлайн max2003

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Help Me!!!!
« Ответ #8 : 26 Мая 2003, 19:24:16 »
Так в чем же все таки ошибка!!!
Если все эти действия выполняются в теле else!!!!

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Help Me!!!!
« Ответ #9 : 26 Мая 2003, 19:30:46 »
Какой else?
Ты напиши своими словами как должен работать блок.
Если $count равняется \'id101\' то делаем то-то и то-то.
The documentations is your friend

Оффлайн max2003

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Help Me!!!!
« Ответ #10 : 26 Мая 2003, 19:39:55 »
Идея была таковой:

пользователь вводит пароль, если он правильный, то загружаем форму поиска , если нет сообщение об ошибке. Далее в поле вводим искомый код, если его нет ошибка, есть (else) обрабатываем и присваиваем данные и данные подставляем в HTML.

Оффлайн max2003

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Help Me!!!!
« Ответ #11 : 27 Мая 2003, 14:48:42 »
Я разобрался с проблемой!!!

Исходный текст таков:

if ($count eq \'id101\'){ &counter01; }
else {}
if ($count eq \'id102\'){ &counter02; }
else {}

sub counter01
{
$ds = $in{\'Car\'};
if ($ds == \'0\'){$usr = 6.0} if ($ds == \'1\'){$usr = 2.0} if ($ds == \'2\'){$usr = 1.7}
if ($ds == \'3\'){$usr = 1.5} if ($ds == \'4\'){$usr = 1.5} if ($ds == \'5\'){$usr = 1.5}
if ($ds == \'6\'){$usr = 1.5} if ($ds == \'7\'){$usr = 1.5} if ($ds == \'8\'){$usr = 1.5}
if ($ds == \'9\'){$usr = 1.5} $ass = @w[2]* $usr; $rrr =sprintf "%.1f", $ass;
$hide ="id101";
}
sub counter02
{
$ds = $in{\'Car\'};
if ($ds == \'0\'){$usr = 3.0} if ($ds == \'1\'){$usr = 4.0} if ($ds == \'2\'){$usr = 1.7}
if ($ds == \'3\'){$usr = 1.5} if ($ds == \'4\'){$usr = 1.5} if ($ds == \'5\'){$usr = 1.5}
if ($ds == \'6\'){$usr = 1.5} if ($ds == \'7\'){$usr = 1.5} if ($ds == \'8\'){$usr = 1.5}
if ($ds == \'9\'){$usr = 1.5} $ass = @w[2]* $usr; $rrr =sprintf "%.1f", $ass;
$hide ="id102";
}

.
.
.
.

P.S. Спасибо всем за помощь....... MAX2003

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28