Вопрос № 33312: Здравствуйте, уважаемые эксперты.
Вы мне очень помогли при модификации моей гостевой книги.
Я с вашей помощью исправил множество ошибок и недочетов.
1.Контроль за длиной сообщений
2.Контроль за длиной слов
3.Контроль за частотой о...Вопрос № 33315: Здравствуйте, уважаемые эксперты!
Скажите, пожалуйста, кто знает, как в пхп вызвать тотал коммандер, чтобы он зашел на определенный фтп.
Заранее, спасибо!...Вопрос № 33319: Здравствуйте.
Кто мне подскажет наиболее удачный код проверки email. Я использую такой:
function check_Mail( $mail ) {
if( preg_match( "/[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/i", $mail, $temp ) )
return true;
retur...
Вопрос № 33.312
Здравствуйте, уважаемые эксперты.
Вы мне очень помогли при модификации моей гостевой книги.
Я с вашей помощью исправил множество ошибок и недочетов.
1.Контроль за длиной сообщений
2.Контроль за длиной слов
3.Контроль за частотой отправки сообщений
4.Отображение переменных в адресной строке
5.Запросы GET сейчас не работают, все отсылается по POST
6.Все переменные обрабатываются strip_tags и htmlspecialchars
7.Ник и прочие данные сохраняются при при обновлении страницы и отправке сообщений.
Пока нет антимата. Я не знаю, делать его или нет. Посоветуйте.
Всем огромное спасибо. Просьба ко всем, если есть желание, ещё раз протестировать мою гостевуху. Благодаря вам я уже избежал многих ошибок, хотя попытки напакостить были и мне пришлось с ними бороться вышеуказанными способами.
Приложение:
Отправлен: 15.01.2006, 15:50
Вопрос задал: romodos (статус: Практикант)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Ерёмин Андрей
Здравствуйте, romodos!
Делать антимат или нет - дело личное. Если есть враги, которые постоянно пишут в книгу всякие гадости - делать. Если не пишут - не делать. Всё гениальное - просто! (с) :) По поводу аспектов реализации - для этого нужно сначала собрать все матерные слова, какие ты только знаешь :) Это самый весёлый процесс :) А дальше - просто. Записываешь их в текстовый файл. Например, по одному слову на строке. Затем в цикле читаешь каждое слово и функцией strpos() проверяешь, если это слово в сообщении. Если есть - заменяешь,
к примеру, звёздочками. Думаю, это не очень сложно.
А вот оставить сообщение мне удалось! Всё ввел, а выводится: "Ошибка! Вы ничего не написали". Смотри, где-то ты что-то лишнее изменил.
--------- Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 15.01.2006, 15:59 Оценка за ответ: 5 Комментарий оценки: Ой, случайно вместо $_POST["msg"] Написал $_POST["$msg"]
Вопрос № 33.315
Здравствуйте, уважаемые эксперты!
Скажите, пожалуйста, кто знает, как в пхп вызвать тотал коммандер, чтобы он зашел на определенный фтп.
Заранее, спасибо!
Отправлен: 15.01.2006, 16:37
Вопрос задал: Repose (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Дмитрий Иванов
Здравствуйте, Repose!
Если тебе нужен коннект по FTP , то не обязательно "чесать правой ногой левое ухо" а можно просто использовать FTP модуль в PHP,
$con = ftp_connect("my.ftp.server") or die "no connection";
ftp_login($con,"username","password") or die "login error";
и т.д.
насчет остального отсылаю к документации по PHP.
--------- ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: Студент)
Отправлен: 15.01.2006, 23:34
Вопрос № 33.319
Здравствуйте.
Кто мне подскажет наиболее удачный код проверки email. Я использую такой:
function check_Mail( $mail ) {
if( preg_match( "/[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/i", $mail, $temp ) )
return true;
return false;
}
Но оказывается он не совсем рабочий, такой майл пройдет:
e mail@dom.ru
Отвечает: Ерёмин Андрей
Здравствуйте, Оськин Дмитрий Владимирович!
Я использую такой метод: if (eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $email)) { ... }
Работает правильно, ни разу не подводил.
P.S. Надеюсь, он правильно отобразится при публикации моего ответа...
--------- Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 15.01.2006, 19:35
Отвечает: Lancelot
Здравствуйте, Оськин Дмитрий Владимирович!
Я использую и на своих сайтах и на заказных вот такой:
function email_is_valid($email) {
if (ereg("^[a-zA-Z0-9_]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$", $email))
return true;
else
return false;
}
--------- Дуракам везёт? Не такие уж они и дураки. (Хенрик Ягодзинский)
Ответ отправил: Lancelot (статус: Студент)
Отправлен: 15.01.2006, 22:26
Отвечает: Дмитрий Иванов
Здравствуйте, Оськин Дмитрий Владимирович!
ты забыл символы конца и начала строки :
if( preg_match( "/^[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}$/i", $mail, $temp ) )
--------- ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: Студент)
Отправлен: 15.01.2006, 23:37
Отвечает: XMF
Здравствуйте, Оськин Дмитрий Владимирович!
--
function pregtrim($str) {
return preg_replace("/[^x20-xFF]/","",@strval($str));
}
//
// проверяет мыло и возвращает
// * +1, если мыло пустое
// * -1, если не пустое, но с ошибкой
// * строку, если мыло верное
//
function checkmail($mail) {
// режем левые символы и крайние пробелы
$mail=trim(pregtrim($mail)); // функцию pregtrim() возьмите выше в примере
// если пусто - выход
if (strlen($mail)==0) return 1;
if (!preg_match("/^[a-z0-9_-]{1,20}@(([a-z0-9-]+.)+(com|net|org|mil|".
"edu|gov|arpa|info|biz|inc|name|[a-z]{2})|[0-9]{1,3}.[0-9]{1,3}.[0-".
"9]{1,3}.[0-9]{1,3})$/is",$mail))
return -1;
return $mail;
}
Ответ отправил: XMF (статус: 3-ий класс)
Отправлен: 16.01.2006, 00:07