Автор Тема: 2 вопроса  (Прочитано 7569 раз)

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

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
2 вопроса
« : 27 Июня 2003, 15:36:37 »
подскажите знающие люди, как сделать что б логин проверялся на наличие русских букв, что то типа:
if ($login eq \'руские буквы\') { что то там }

и еще, есть часть скрипта
sub add {                                    #добавляет нужную строчку в файл
$s=0;
open (MSG, "$file");
@msg=;
close(MSG);
open (FILE, ">$file");
   foreach $line (@msg) {
   if ($s == $str) {              #$str- номер нужной строчки
      if ($sp eq "0") { print FILE "$sp`$text\\n$line"; }
      }
   else { print FILE "$line"; }
   $s++; }
close(FILE);
print "ок.\\n";
&mail;                                       #открывает файл и построчно отправляет $email (около80)
}

вот вопрос, что то он уж очень долго думает, что подскажите предпринять?
кстати, он мне этот print "ок.\\n"; выдаст только после того как отправит все &mail; или сначала напишет а потом будет отправлять?
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
2 вопроса
« Ответ #1 : 27 Июня 2003, 16:40:16 »
Цитировать
что б логин проверялся на наличие русских букв

if ($login =~ /[^a-z]+/i) {
    print "Допустимы только латинские символы!\\n";
}

Цитировать
или сначала напишет, а потом будет отправлять?

В браузере, пока не отправит "ок" не увидишь, в консоле сначала напишет.
« Последнее редактирование: 27 Июня 2003, 16:53:58 от Wyclef »
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
2 вопроса
« Ответ #2 : 27 Июня 2003, 17:33:14 »
Цитировать
Wyclef:
if ($login =~ /[^a-z]+/i) {
    print "Допустимы только латинские символы!\\n";
}

спасибо, работает

Цитировать
Wyclef:
В браузере, пока не отправит "ок" не увидишь, в консоле сначала напишет.

так вот почему он так долго думает....
как решить этот вопрос подскажешь?
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
2 вопроса
« Ответ #3 : 28 Июня 2003, 21:53:45 »
Цитировать
Yaroslav:
как решить этот вопрос подскажешь?

Можно решить при помощи cron\'a.

Т.е. добавляешь в cron скрипт (отдельный), который непосредственно осуществляет отправку писем и который, в свою очередь, "смотрит" не изменились ли какие-либо параметры (например спец. поле в БД и т.п.) и нужно отправить письма.

А скриптом, где у тебя sub add, ты где нужно (например там где стоит &mail;) эти самые параметры и меняешь и т.д.

...Надеюсь понятно объяснил? :)
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
2 вопроса
« Ответ #4 : 29 Июня 2003, 09:39:06 »
Цитировать
Wyclef:
В браузере, пока не отправит "ок" не увидишь, в консоле сначала напишет.
Почему ? Если где то в скрипте есть print "Content-type: text/html\\n\\n"; (раньше чем print "ok";) то и в браузере сначала напишет ок, а потом займется отправкой писем.

Цитировать
Wyclef:
Можно решить при помощи cron\'a.
А можно и при помощи print "Location:  куда нибудь\\n\\n";
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
2 вопроса
« Ответ #5 : 29 Июня 2003, 15:38:01 »
Цитировать
Mog.:
Если где то в скрипте есть print "Content-type: text/html\\n\\n";
Mog.:
А можно и при помощи print "Location: куда нибудь\\n\\n";

Не проможет...

Я раньше подобную тему поднимал (только там было про upload). Советовали fork. Грабли примерно те же...
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
2 вопроса
« Ответ #6 : 29 Июня 2003, 15:45:47 »
2Wyclef
Уверен? Про аплоад я помню, но там другая история. Там был долгий http запрос, потому скрипт не начинал выполнятся до его завершения и fork не имел смысла. Здесь, если чел хочет быстро-быстро увидеть "Ok!", мона сделать location на этот окей, а скрипт потихонечку будет дошуршивать, рассылая мыло. Браузер, ведь, только команды будет слать, а все что будет делаться, будет делаться на сервере.
Все болезни от нервов, только сифилис от удовольствия

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
2 вопроса
« Ответ #7 : 29 Июня 2003, 18:07:12 »
Цитировать
Wyclef:
if ($login =~ /[^a-z]+/i) {


улетают так-же цифры.

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
2 вопроса
« Ответ #8 : 29 Июня 2003, 22:04:16 »
Цитировать
Mog.:
а скрипт потихонечку будет дошуршивать, рассылая мыло.

проверено - не будет...
Цитировать
arto:
улетают так-же цифры.

не только...

Yaroslav разберется :)
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
2 вопроса
« Ответ #9 : 30 Июня 2003, 07:38:03 »
Цитировать
Wyclef:
проверено - не будет...
мыло слать? Или вообще ничего делать не будет. Ты сам проверял ?
Я это к тому, что у меня после редиректа, скрипт доделывает то , что ему положено. Нормально работает, вобсчем.
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
2 вопроса
« Ответ #10 : 30 Июня 2003, 15:03:11 »
Wyclef
У меня кстати тоже скрипт продолжает спокойно работу после редиректа...
Единственно я ставлю в таких случаях блокировку на запрежение повторного запуска скрипта пока не закончил работу первый...

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
2 вопроса
« Ответ #11 : 30 Июня 2003, 15:44:55 »
Mog.
Например написано (ты это имел ввиду?):
print "Location:[url]http://куда-то\\n\\n[/url]";
&hard_job;

В браузере, у меня пока hard_job не отработает редирект куда-то не происходит... А в консоле при запуске ./script.pl работает как у тебя :) (как хотелось бы)...
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
2 вопроса
« Ответ #12 : 30 Июня 2003, 15:49:53 »
Цитировать
Wyclef:
В браузере, у меня пока hard_job не отработает редирект куда-то не происходит
А с чем это связано, собсно? Сервер кэширует выходные данные скрипта? А потом отдает все оптом? Так получается? А почему у одних работает, а у других нет?
Хочу просто разобраться.
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
2 вопроса
« Ответ #13 : 10 Июля 2003, 21:05:14 »
Цитировать
Wyclef:
Т.е. добавляешь в cron скрипт (отдельный), который непосредственно осуществляет отправку писем и который, в свою очередь, "смотрит" не изменились ли какие-либо параметры (например спец. поле в БД и т.п.) и нужно отправить письма.

А скриптом, где у тебя sub add, ты где нужно (например там где стоит &mail;) эти самые параметры и меняешь и т.д.

...Надеюсь понятно объяснил?

ничего не понятно
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
2 вопроса
« Ответ #14 : 11 Июля 2003, 14:49:30 »
Yaroslav
Для начала, у тебя есть доступ к crontab?
It\'s nice to be important, but it\'s more important to be nice!

 

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