(Ура, работает! :)) : Что неверно в функции на php?
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
(Ура, работает! :)) : Что неверно в функции на 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");
}
}
|
|
|
RE: Что неверно в функции на php? - 2009-11-17 10:36:16.040000
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
Ну а $to и $from кто инициализировать будет?
|
|
|
RE: Что неверно в функции на php? - 2009-11-17 10:48:16.890000
|
|
|
horiz
Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
|
И еще один момент. Видимо, функцией count_chars ты проверяешь присутствие данного символа в строке? Это не верно. Эта функция подсчитывает количество вхождений каждого из символов с ASCII-кодом из диапазона 0-255 в строке. У тебя в любом случае будет неотрицательный результат. Для проверки адресов используй регулярные выражения.
|
|
|
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 я проверяю количество вхождений символа в строку, и если не ноль, то заносить строку в файл. Знаю, что коряво, а может, и неправильно. А как именно это делается с регулярными выражениями? Можно код, если несложно? Функция-то по сути простая… Не, все в порядке, попробую сам… Всем спасибо!
|
|
|
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'];
Ну дык в функцию ты их не передаешь. Здесь другая область видимости.
|
|
|
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);
|
|
|
RE: Что неверно в функции на php? - 2009-11-17 12:37:05.440000
|
|
|
orthoxor
Сообщений: 110
Оценки: 0
Присоединился: 2009-08-07 13:46:30.943333
|
Ура!!! Работает!
<?
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");
}
}
?>
Pashkela, отдельное спасибо, но у меня что-то вроде получилось! :)
|
|
|
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
|
|
|
RE: Что неверно в функции на php? - 2009-11-17 13:33:58.193333
|
|
|
orthoxor
Сообщений: 110
Оценки: 0
Присоединился: 2009-08-07 13:46:30.943333
|
Пару часов назад вообще не знал о RegEx'ах :) Можно считать, что у меня ЛевелАп :) Smelo, респект! Работает!
|
|
|
|
|