Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

(Ура, работает! :)) : Что неверно в функции на php?

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> (Ура, работает! :)) : Что неверно в функции на php?
Имя
Сообщение << Старые топики   Новые топики >>
(Ура, работает! :)) : Что неверно в функции на php? - 2009-11-17 07:58:50.183333   
orthoxor

Сообщений: 110
Оценки: 0
Присоединился: 2009-08-07 13:46:30.943333
Функция должна писать мыла в mailbase.txt, но вместо этого пишет пустые строки. Предполагаю, что неправильно использую функцию count_chars . Есть идеи, как реализовать фильтр более грамотно?
function mailfil() //Фильтруем мыла и пишем в mailbase.txt { $fw=fopen("files/mailbase.txt","a"); $res0=count_chars($to, "@"); $res1=count_chars($to, "."); $res2=count_chars($from, "@"); $res3=count_chars($from, "."); if ($res0!=0 and $res1!=0) { fwrite($fw,"$to\r\n"); } if ($res2!=0 and $res3!=0) { fwrite($fw,"$from\r\n"); } }
Post #: 1
RE: Что неверно в функции на php? - 2009-11-17 10:36:16.040000   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
Ну а $to и $from кто инициализировать будет?
Post #: 2
RE: Что неверно в функции на php? - 2009-11-17 10:48:16.890000   
horiz

Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
И еще один момент. Видимо, функцией count_chars ты проверяешь присутствие данного символа в строке? Это не верно. Эта функция подсчитывает количество вхождений каждого из символов с ASCII-кодом из диапазона 0-255 в строке. У тебя в любом случае будет неотрицательный результат.
Для проверки адресов используй регулярные выражения.
Post #: 3
RE: Что неверно в функции на php? - 2009-11-17 11:44:01.220000   
orthoxor

Сообщений: 110
Оценки: 0
Присоединился: 2009-08-07 13:46:30.943333
quote:

ORIGINAL: oRb

Ну а $to и $from кто инициализировать будет?

$to и $from берутся из формы.
$to=$_POST['to']; $from=$_POST['from'];
quote:

ORIGINAL: horiz

И еще один момент. Видимо, функцией count_chars ты проверяешь присутствие данного символа в строке? Это не верно. Эта функция подсчитывает количество вхождений каждого из символов с ASCII-кодом из диапазона 0-255 в строке. У тебя в любом случае будет неотрицательный результат.
Для проверки адресов используй регулярные выражения.

count_chars я проверяю количество вхождений символа в строку, и если не ноль, то заносить строку в файл. Знаю, что коряво, а может, и неправильно.
А как именно это делается с регулярными выражениями? Можно код, если несложно? Функция-то по сути простая…
Не, все в порядке, попробую сам… Всем спасибо!
Post #: 4
RE: Что неверно в функции на php? - 2009-11-17 11:54:07.426666   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
quote:

ORIGINAL: orthoxor

quote:

ORIGINAL: oRb

Ну а $to и $from кто инициализировать будет?

$to и $from берутся из формы.
$to=$_POST['to']; $from=$_POST['from'];
Ну дык в функцию ты их не передаешь. Здесь другая область видимости.
Post #: 5
RE: Что неверно в функции на php? - 2009-11-17 12:19:48.860000   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
function mailfil ($a,$b) { $fw=fopen("files/mailbase.txt","a"); if (preg_match('/[\w\-]+@[\w\-]+.\w+.\w+/', $a) fwrite($fw,"$a\r\n"); if (preg_match('/[\w\-]+@[\w\-]+.\w+.\w+/', $b) fwrite($fw,"$b\r\n"); } # Пример вызова mailfil ($to,$from);
Post #: 6
RE: Что неверно в функции на php? - 2009-11-17 12:37:05.440000   
orthoxor

Сообщений: 110
Оценки: 0
Присоединился: 2009-08-07 13:46:30.943333
Ура!!! Работает!
&lt;? function mailfil() { $to=$_POST['to']; $from=$_POST['from']; $fw=fopen("files/mailbase.txt","a"); $maches0=preg_match('/\w+[@]\w+[.]\w+/', $to); $maches1=preg_match('/\w+[@]\w+[.]\w+/', $from); if ($maches0) { fwrite($fw, "$to\r\n"); } if ($maches1) { fwrite($fw, "$from\r\n"); } } ?&gt; Pashkela, отдельное спасибо, но у меня что-то вроде получилось! :)
Post #: 7
RE: Что неверно в функции на php? - 2009-11-17 13:20:30.970000   
Smelo

Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
писал недавно регу для валидации Email
#^(?!_)(?:\w+[\.\-]?)+(?<![\.\-_])@(?!_)\w{2,}(?:(?:\.|\-)\w+)+(?<![_\-\.])$#i
Post #: 8
RE: Что неверно в функции на php? - 2009-11-17 13:33:58.193333   
orthoxor

Сообщений: 110
Оценки: 0
Присоединился: 2009-08-07 13:46:30.943333
Пару часов назад вообще не знал о RegEx'ах :) Можно считать, что у меня ЛевелАп :)
Smelo, респект! Работает!
Post #: 9
Страниц:  [1]
Все форумы >> [Веб-программинг] >> (Ура, работает! :)) : Что неверно в функции на php?







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.