Forum Webscript.Ru

Программирование => PHP => Тема начата: nobody от 28 Декабря 2001, 04:47:33

Название: FAQ
Отправлено: nobody от 28 Декабря 2001, 04:47:33
Возникла такая идея, что нужно написаь ответы на часто задаваемые вопросы, а то, что то они слишком часто в форуме проскакивают :)

1. Как опpеделить валидность e-mail?


function checkmail($mail){
if (eregi("^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*$",$mail)){
return TRUE;}
return FALSE;
}
Название: FAQ
Отправлено: Britva от 28 Декабря 2001, 08:58:50
Цитировать
Возникла такая идея, что нужно написаь ответы на часто задаваемые вопросы, а то, что то они слишком часто в форуме проскакивают  

Эх, я уже давно подбиваю :), даже собирал список тем в форуме php.
Название: FAQ
Отправлено: Alan от 28 Декабря 2001, 09:03:48
Цитировать
Как опpеделить валидность e-mail?

вроде так if (eregi("^([a-z]|[0-9]|\\.|-|_)+@([a-z]|[0-9]|\\.|-|_)+\\.([a-z]|[0-9]){2,3}$", $email, $arr_vars) &&
 !eregi("(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)", $email, $arr_vars))
 $email=$email;
 else $email="Аноним";
Название: FAQ
Отправлено: Antoxa от 28 Декабря 2001, 13:59:20
2. совет: preg в 10 раз быстрее ereg
Название: А что мешает?
Отправлено: doll_lena от 28 Декабря 2001, 14:49:49
Думаю этот FACK нужно засовывать рядом с темой движок. потому что из моего опыта, первое, что делает человек, узнав о PHP, это с большими глазами бежит спрашивать - ГДЕ ДОСТАТЬ ДВИЖОК?
:)

Кстати, о проверке мыла...у меня была функция, которая просто стучалась на сервер, и спрашивала, есть ли там такой клиент.
 я сначала решила, что круто, а потом... ну скольких ников не разобрано на Hotmail.com или на mail.ru ... я вот ведь всегда даю левый адрес, если требуют мыло, а  confirmation не присылают...

Типа fack@hotmail.com

что интересно, есть такой человек... я ему даже писала, он сказал - как вы достали меня прописывать, кто бы знал
:)

так что лучший наверно способ убедиться в валидности регистрации- послать мыло, требуещее подтверждения.
хотя это усложняет процесс, и не устраивает почти всех, а что делать, время то сейчас такое...с одной стороны спамер. с другой стороны ламер...
Название: FAQ
Отправлено: ThE0ReTiC от 28 Декабря 2001, 15:02:12

function correct_email($mail)
{
 if (ereg(\'^[-!#$%&\\\'*+\\\\./0-9=?A-Z^_`a-z{|}~]+\'.\'@\'.\'[-!#$%&\\\'*+\\\\/0-9=?A-Z^_`a-z{|}~]+\\.\'.\'[-!#$%&\\\'*+\\\\./0-9=?A-Z^_`a-z{|}~]+$\',             $mail)):
    return $mail;
    else:
    return 0;
    endif;
}
Название: FAQ
Отправлено: ThE0ReTiC от 28 Декабря 2001, 15:05:00
Могу подкинуть скриптов :)
Название: FAQ
Отправлено: Макс от 28 Декабря 2001, 15:15:00
FAQ конечно же нужен, но вот первым ИМХО должно быть там написано - это просьба научиться работать с мануалом и дать ссылку на мануал с комментариями (фактически аналог online-документации с php.net). С помощью этого мануала решаются почти все проблемы с php. Собственно с  самим php проблемы возникают редко (у меня) - в основном проблемы возникают из-за незнания каких смежных тем (например SQL или XML) или проблема выбора наиболее быстрого и наименее ресуосоемкого алгоритма.
Поэтому в FAQ-е в начале большими буквами нужно написать:
Люди, читайте мануал

Сейчас в fido7.ru.php тоже начали мануал создавать и пока что там 4 вопроса расматривается:
1. Проверка e-mail
2. Проверка URL-а
3. Почему не показываются заапложенные файлы
4. Как определить последний ID в таблице?
Если интересно - могу ответы кинуть.

Если на форуме будут делать отдельный FAQ то наверное нужно описать разбиение монолитного текста (недавно Lion поднимал эту тему). И про работу с Excel нужно написать (тоже тема популярная). Да и про сессии упомянуть

Ну вот собственно и все что я хотел сказать :)
Название: PEAR груша- это вам не яблоко. Пока FAQ не сделали...
Отправлено: doll_lena от 28 Декабря 2001, 15:45:52
Все конечно знают, но вдруг :)

Есть такая штука- PEAR- ее почему-то вяло анонсируют на PHP.net, хотя штука это очень полезная.

Это депозиторий классов (читай скриптов) написанных В СООТВЕТСТВИИ со стандартами разработчиков PHP.
Почти у всех он установлен.

Скриптов то много в сетке, а вот надежныx и ПРОВЕРЕННЫX...

Так что рекомендую всем ознакомится.

Там есть все- если кому-то хочется сайт с возможностями PHP-net :)- так вот он весь выложен в этом PEAR.
И не только он.

Как только человек начинает думать по теме- то есть, какие функции быстрее работает, как кешировать правильно...



Документация написана разработчиками для разработчиков, все в тему.

Надеюсь, пригодится.


Вот их дом
http://www.pear.php.net

Вот документация

http://phpdocu.sourceforge.net/peardocs/

Есть и на русском. но очень КУЦАЯ..
http://pear.sourceforge.net/manual/

Касательно движка- я как всегда о своем о девичьем-
Рекомендую всем заинтересованным ознакомится со стандартом, который используют разработчики, чтобы знать, кто чего натворил в совместном проекте.
http://www.cvshome.org/
если кому-то интересно, как это работает для PHP-

http://cvs.php.net/
Но это в первую очередь представляет интерес для фанатов, и для людей, желающих  знать мировые стандарты совместной работы.
ну или исходники опять таки посмотреть :)

То есть прочитав и освоив эту бяку, можно и нужно писать об этом в резюме- это батенька, говорит, что вы специалист.
Название: FAQ
Отправлено: nobody от 29 Декабря 2001, 18:33:17
Вот о чем я и говорю, нужно начать собирать вопросы и постипенно на них отвечать...

сделать тему в форуме в которую может добавлять сообщения только одминистратор, и выкладывать только проверенные и рабочие фрагменты...

И повесить в самом начале типа "Прежде чам задовать вопрос, ознакомтесь с FAQ". Тогда и в форуме не будет такое большое количество глупых вопросов....
Название: FAQ
Отправлено: Stek от 29 Декабря 2001, 19:18:54
doll_lena
Не хочу тебя разачаровывать, но пеар не так хорощ как кажется. Я смотрел несколько его крупных частей как кеширование и коннект к базе данных . Не спорю, код там правильный. Но реализация...

Только  подключения класса кеширования (без его работы) у меня занимает 0.02 секунды. В то же время мой собственный кешер за эти 0.02 секунды не только успевает подключиться, но и еще обработать весь вывод.

Класс для баз данных - я не нашел там многих функция. Т.е. произведена полная кастрация для совместной работы со всеми базами. Хотя  некоторые функции убранны абсолютно зря. Плюс опять - скорость работы из за навороченности кода PEAR существенно замедляется.
Название: Ну батенька, это же аксиома, что сделанное под себя всегда лучше :)
Отправлено: doll_lena от 30 Декабря 2001, 05:13:08
Понятное дело, что идеальных вещей мало в этом  мире.
Но внимания этот проект безусловно заслуживает.

А насчет скорости- абсолютно прав. Скейлабилити пошла уже, в ущерб функциональности.
не будем вдаваться в философские проблемы программирования.:)
Название: FAQ
Отправлено: 3D-Dragon от 30 Декабря 2001, 12:52:22
Вы, наверное, будете смеяться, но ни один, из вышеуказанных примеров валидации e-mail, не работает :(
Название: FAQ
Отправлено: DimovD от 30 Декабря 2001, 12:58:31
естественно, потому что правилный вот этот:) :
if (!ereg("^([._a-z0-9-]+[._a-z0-9-]*)@(([a-z0-9-]+\\.)*([a-z0-9-]+)(\\.[a-z]{2,3}))$",$email)) {
$error= ">Неправильно введён Адрес электронной почты.
";
 }
Название: FAQ
Отправлено: 3D-Dragon от 30 Декабря 2001, 13:25:15
DimovD
да, правильно :)
А можно еще и так

if (!eregi("^[a-z0-9\\._-]+@[a-z0-9\\._-]+\\.[a-z]{2,4}\\$", $mail))

А они хотели в FAQ добавить.
М-да ...
Название: FAQ
Отправлено: ThE0ReTiC от 30 Декабря 2001, 17:42:32
Только {2,4} более правильно. Есть же еще зона .info.
Название: FAQ
Отправлено: Britva от 30 Декабря 2001, 19:02:23
ага, плюс museum и еще нек-рые :)
Название: FAQ
Отправлено: ThE0ReTiC от 31 Декабря 2001, 03:02:46
По-моему тему пора вернуться к теме, тлт перенестись во флейм :|
Название: FAQ
Отправлено: Alan от 31 Декабря 2001, 12:12:19
Цитировать
Вы, наверное, будете смеяться, но ни один, из вышеуказанных примеров валидации e-mail, не работает

ты чиво? работает ещё как работает