выкладываю свой скрипт гостевой книги для оценки кода. приветствуется только адекватная, обоснованная и без оскорблений оценка. так же если найдете баги/дыры прошу сообщить в этой теме
10 Дек 2011, 12:10NewTon, эмм... мне от постояльцев форума уже влетело за собачки при коннекте к БД, зачем?
добавлено спустя 56 секунд:
NewTon, да, и переменная $url, для чего? Не лучше ли писать относительные ссылки?
добавлено спустя 2 минуты:
NewTon, файл функций, там всего 2 сокращения, я понимаю что удобно, в данном конкретном случае это лишь лишний инклуд, без которого вполне можно жить думаю 
Если работаешь с многобайтовой кодировкой используй функции из семейства mb_ , для работы с текстом. Иначе результат будет не корректным.
10 Дек 2011, 12:33Okula, согласен, но только на windows платформе, на *nix вроде всё хорошо со стандартными функциями
добавлено спустя 2 минуты:
spik, забыл убрать эти собачки, просто я писал с error_reporting(E_ALL), а видеть системную ошибку коннекта мне не нравится т.к там и так идет завершение работы с выводом текста ошибки.
добавлено спустя 1 минуту:
spik, переменная $url для того чтобы не забивать скрипт ручным вводом http:// и т.д, + так будет работать на любом хосте и еще + Mod Rewrite
NewTon, относительные ссылки прекрасно справляются, не смысла в данной переменной
Чем не устраивают ссылки типа "/папка/файл"?
Какое отношение это имеет к реврайту?
NewTon, эмм..
Это работает?!
if($_POST)
{
$err = empty($_POST['nick']) ? '* Вы не ввели ник!<br />' : ((strlen($_POST['nick']) > $set['max_len_nick']) ? '* Слишком длинный ник!<br />' : '');
$err .= empty($_POST['login']) ? '* Вы не ввели логин!<br />' : (!preg_match('/^[A-z0-9\-\._]{3,32}$/i', $_POST['login']) ? '* Неверный форма логина!<br />' : '');
$err .= empty($_POST['pass']) ? '* Вы не ввели пароля!<br />' : (!preg_match('/^[A-z0-9_]{4,32}$/i', $_POST['pass']) ? '* Неверный форма пароля!<br />' : '');
$err .= empty($_POST['k_gb']) ? '* Вы не ввели кол-во записей на страницу!<br />' : (!is_numeric($_POST['k_gb']) ? '* Неверное кол-во записей на страницу!<br />' : ($_POST['k_gb'] == 0 || $_POST['k_gb'] > 30 ? '* Неверное кол-во записей на страницу!<br />' : ''));
$err .= empty($_POST['max_len_nick']) ? '* Вы не макс. длину ника!<br />' : (!is_numeric($_POST['max_len_nick']) ? '* Неверная длина ника!<br />' : ($_POST['max_len_nick'] == 0 || $_POST['max_len_nick'] > 64 ? '* Неверная длина ника!<br />' : ''));
$err .= empty($_POST['max_len_text']) ? '* Вы не макс. длину текста!<br />' : (!is_numeric($_POST['max_len_text']) ? '* Неверная длина текста!<br />' : ($_POST['max_len_text'] == 0 || $_POST['max_len_text'] > 5000 ? '* Неверная длина текста!<br />' : ''));
$err .= empty($_POST['antiflood']) ? '* Вы не ввели время антифлуда!<br />' : (!is_numeric($_POST['antiflood']) ? '* Неверное время антифлуда!<br />' : ($_POST['antiflood'] > 3600 ? '* Слишком много времени антифлуда!<br />' : ''));
$err .= $_POST['closed'] != 0 && $_POST['closed'] != 1 ? '* Ошибка..<br />' : '';
$err .= $_POST['modering'] != 0 && $_POST['modering'] != 1 ? '* Ошибка..<br />' : '';
if(empty($err))
{
if(mysql_query("UPDATE `setting` SET `adm_login` = '".$_POST['login']."', `adm_pass` = '".$_POST['pass']."', `k_gb` = '".$_POST['k_gb']."', `max_len_nick` = '".$_POST['max_len_nick']."', `max_len_text` = '".$_POST['max_len_text']."', `antiflood` = '".$_POST['antiflood']."', `closed` = '".$_POST['closed']."', `modering` = '".$_POST['modering']."'"))
{
$err = '* Настройки сохранены!<br />';
$_SESSION['login'] = $_POST['login'];
$_SESSION['pass'] = $_POST['pass'];
$set = mysql_fetch_array(mysql_query("SELECT * FROM `setting`"));
}
else
$err = '* Ошибка запроса...<br />';
}
}
Точнее, как это работает?! Просто менет данные в сесии? Кстати еще и нефильтруемые данный в запрос уходят...
spik, в том то и дело что для Mod Rewrite нужны полные ссылки, попробуй у себя очистить переменную $url и перейти по какой нибудь ссылке
добавлено спустя 2 минуты:
spik, блеа дружище извини, реально без нее мод рерайт работает. а раньше почему то не работал))
добавлено спустя 13 минут:
короче херня это всё, убрал полный урл появилась куча ошибок. если есть эта переменная значит так и задумано и всё тут. смотрите на что нибудь другое.
добавлено спустя 50 секунд:
spik, да, а что в этом не так?
добавлено спустя 3 минуты:
spik, зачем фильтрация если перед запросом идёт проверка на корректность данных??
NewTon, не дружище, херня, это абсолютные ссылки
Я в том участке кода вижу условие, в котором запрос, блин, мне поставить некуда ща, но как это может работать?!
Толи я дурак, толи лыжи не едут 
spik, а меняет даннае в сессии потому что юзер может сменить пароль и логин
добавлено спустя 45 секунд:
8 не совсем понял
NewTon, строчка 44, в условии записан запрос...
добавлено спустя 3 минуты:
NewTon, ниже есть тоже самое... Блин, я ща пойду хоста придумаю, и поставлю посмотреть, чет подозрительно...