у тебя в админке и тд в заголовках идет кодировка не utf следовательно браузер выводит страницу в кодировку которая в заголовках а данные из базы коверканные.
if(mysql_num_rows(mysql_query("SELECT * FROM `top_prod` WHERE `description` = '".$description."' LIMIT 1"))){
echo"В БД найдена идентичная запись";}
(Добавление)
У меня проблема с кодировкой mysql. Дело в том, что раньше мой сайт находился на бесплатном хостинге под управлением панели Direct Admin, три дня назад я перенес сайт на платный хостинг mirex.su под управлением cPanel. И теперь у mysql появились проблемы с кодировкой. Все старые записи, которые были созданы на бесплатном хосте - отображаются не коректно. Вы можете убедиться в этом перейдя по ссылке http://w1p[dot]in/news/ . Все новые записи, созданные на новом хосте - на сайте отображаются нормально, но в phpMyAdmin они имеют вид иероглифов. Все записи хранятся в кодировке utf-8_general_ci. Как мне исправить этот баг?
Разобрался с куками, дело в том что авторизация проходит в папке "/public_html/auth", a скрипт index.php находится на уровень выше тоесть в "/public_html" и по не понятным мне причинам отказывался считывать куки которые создовались в другой папке. Теперь все нормально.
Я просто не могу проследить логики в таком аргументе
Да уж регулярное выражение не слабое - но судя по всему здесь просматриваются различне вариаты буквосочетаний Видите кванфитикаторы от 0 до 6 - то есть в данном "матерное" слове часть сравнений может совпасть а может и не совпасть - вероятно такой шаблон будет реагировать на слова типа "употреблять" или "употребитель"
]Вы используете cookie для передачи идентификатора сессии?
Нет, я использую куки для передачи id и пароля. Я знаю что это угроза безопастности сайта, но в будущем я планирую пременить хеширование разработанное по моему алгоритму.
В общем с куками я не разобрался, на время заменил их сессиями.
Возник вопрос не относящийся к этой теме, но просто чтоб не плодить топики я задам его здесь.
Обьясните как пользоваться регулярным поиском с заменой.
preg_replace()
Дело в том что я пишу антимат, и ничего лучше этой функции не нашел. Но я не могу понять как состовлять первый аргумент, то есть шаблон.
Я просто не могу проследить логики в таком аргументе:
К примеру можно включить буферизацию - а еще лучше использовать JS-редирект и соответствующую обработку cookie на стороне клиента если требуется (По мне это гораздо лучше буферизации в случае когда PHP-скрипт уже практически невозможно поменять чтобы он ничего не выводил :-)
JS не вариант, я пишу под WAP, а там мало браузеров js поддержуют так как надо.
А насчет заголовков разобрался, просто у меня текстовый редактор добавлял сигнатуру в начале кода, вот и получалось что перед тем как откроется <?php стоял знак ?<, тоесть был символ за пределами обработки php. Теперь все ок, но куки всеравно глючат. Когда захожу на Дайджест, меня авторизирует. А когда захожу на индексную, то нет. Завтра с этим разберусь =) (Добавление)
Мелкий пишет:
Например, в приведённом листинге - 1 строка - уже вывод в браузер, необходимо, чтобы первой строкой скрипта было <?php
Это я когда писал сообщение напутал с bb кодами, со смарта не удобно просто =)
Спасибо всем кто помогал, я исправил недостатки и сделал дебаг. Но cookies всеравно не хотят создоваться.
Вот ошибка которая выводится:
Warning: Cannot modify header information - headers already sent by (output started at /home/felliks/domains/w1p.in/public_html/auth/login.php:1) in/home/felliks/domains/w1p.in/p ublic_html/auth/login.php on line26
Warning: Cannot modify header information - headers already sent by (output started at /home/felliks/domains/w1p.in/public_html/auth/login.php:1) in/home/felliks/domains/w1p.in/p ublic_html/auth/login.php on line27
Warning: Cannot modify header information - headers already sent by (output started at /home/felliks/domains/w1p.in/public_html/auth/login.php:1) in/home/felliks/domains/w1p.in/p ublic_html/auth/login.php on line 29
Спасибо, header() поправил, насчет htmlspecialchars() я сначала рабочий код пишу а после защиту ставлю. А насчет выполнения кода, хз, вообще никакой ошибки не выдает, просто пустая страница.