RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 232
от 21.01.2006, 06:03

Администратор:Калашников О.А.
В рассылке:Подписчиков: 217, Экспертов: 39
В номере:Вопросов: 3, Ответов: 6


Вопрос № 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";

доступные комманды
ftp_pasiv($con,TRUE);

$otkuda = "date.exe";
$kuda = "date.exe";

if (!ftp_put($con, $kuda, $otkuda, FTP_BINARY)) {
print "Error!";
} else {
print "OK";
}
ftp_rename($con, name, newname);
ftp_quit($con);

и т.д.
насчет остального отсылаю к документации по 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
Отправлен: 15.01.2006, 18:16
Вопрос задал: Оськин Дмитрий Владимирович (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, Оськин Дмитрий Владимирович!
Я использую такой метод:
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


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.phpplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное