maldivec: Т.е. у вас физически будут 100500 файлов совершенно одинаковых? Какой в них смысл? Сделайте один index.php и все.
Согласен и понимаю, что даже 300 страниц с абсолютно одинаковым кодом плодить смысла нет. Но пока не осилил и не понял - как обойтись без физических страниц с красивыми урлами вида - /ford-focus.php Понимаю, и видел сайты где не настроен ЧПУ (mod_rewrite я так понимаю) и урлы имели вид index.php?id=24632 или index.php/?tovar=379&id=387378
Но мне бы так не хотелось делать и сейчас надо понять как это реализуется.
Иду читать про mod_rewrite
---------- Добавлено 23.10.2012 в 16:54 ----------
Ayavryk:
Потратьте немного времени на изучение ООП и посмотрите на какой-нибудь простой php-фреймворк. В них уже заложены структура простых приложений и адресации. В БД лезть совершенно необязательно, если вы этого по-началу боитесь.
Ответьте, пожалуйста, а то ввели меня в заблуждение.
Т.е. как можно обойтись без БД? а от куда берутся данные (переменные) при получении того или иного значения ($_SERVER['REQUEST_URI']) ? Как понять простой php-фреймворк или нет...
Я понял, что какой бы адрес в строке браузера не ввели, страница будет редиректиться на index.php в которой мы типа будем получать инфо какой был запрошен урл первоначально и выдавать данные.
Но я не могу понять, как пс поймет какая страница реально существует, а какая нет...Ну просто принцип действия в голове не укладывается.
Ну ввел я в адресной строке www.site.ru/auto-audi.php - редирект на index.php и выводит нужные данные. А допустим страницы www.site.ru/auto-audi2.php - не существует, но все равно идет на редирект, и пустой шаблон получаем.
ivan-lev, повторюсь - я не профи, но на бытовом уровне так можно сделать?
любая страница сайта содержит только такой код
<? include('includes/shablon.php'); ?>
файл shablon.php выглядит условно говоря так
// получаем урл текущей страницы и понимаем в каком мы разделе
// шаблонный хтмл код, который будет несколько видоизменяться от полученных данных
// данный код может быть весьма и весьма длинным, т.к. разделов на сайте много будет
---------- Добавлено 23.10.2012 в 14:36 ----------
Ayavryk: В БД лезть совершенно необязательно, если вы этого по-началу боитесь.
Так я храню названия title, description, keywords, h1 и другие некоторые поля в зависимости от раздела в БД. Или вы не про это?
ivan-lev: нет. Рекомендую ещё раз внимательнее прочитать статью. Погуглить про ЧПУ.
Посмотрите, как работают сайты на любом современном движке (drupal|wordpress) - у них ведь "красивые" адреса.. =)
Спасибо ещё раз, но самописный движек мне не осилить :) Далеко не тот уровень 😒
ivan-lev: Вообще, ИМХО, более понятна (и уместна для Web-приложений) единая точка входа и MVC (с бонусами роутерами (это который sobiraet-dannye и передаёт дальше) -хелперами в виде отдельных/слабосвязанных классов)
Спасибо за инфо. Но если я правильно понял, то урлы будут вида www.site.ru/index.php?* . Да? Но я бы хотел сохранить в url внутренних страниц такими www.site.ru/plitka-atlas-concord.php Спасибо, буду читать. Я самоучка, прошу понять, мне весьма сложно освоить такие сложные технические вещи без помощи.
LEOnidUKG: strip_tags и если идёт добавление в БД, то mysql_real_escape_string
Спасибо. С strip_tags порядок, а вот второй дает ошибку.
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'stroyka'@'localhost' (using password: NO) in /home/stroyka/domains/plitka-r.ru/public_html/zapros.php on line 47
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/stroyka/domains/plitka-r.ru/public_html/zapros.php on line 47
Я своими кривыми руками (кривые от недостатка знаний) и с вашей помощью сделал что в таблицу из формы данные заносятся читаемыми, в полях формы (если юзер недозаполнил поля) тоже читаемые показывает и в странице вывода контента тоже всё ок. Но столько лишних строк, меня просто убивает эта кодировка.
LEOnidUKG, может стоило всё оставить как было когда то в windows-1251 и не париться? Не вижу преимуществ для себя от utf-8
А то теперь даже чтобы ФИО юзера перевестив заглавные первые буквы вместо простого ucwords приходится писать
---------- Добавлено 21.10.2012 в 15:56 ----------
bukachuk: У вас у полей CP1251 в таблице
Специально некоторые так оставил, чтобы видеть какие норм выводятся какие нет. В итоге - не влияет. Я вообще запутался и нигде материал найти не могу, что в какой кодировке надо оставить. Мне же с полями потом ещё дальше работать нужно - переводить в верхний регистр, удалять символы и т.д.
ivan-lev: У бд, у таблицы - ок. А collation у самих текстовых полей таблицы?
p.s. а запросы "set names" выполняются и при сохранении и при показе формы?
Т.е. у вас физически будут 100500 файлов совершенно одинаковых?
Какой в них смысл? Сделайте один index.php и все.
Согласен и понимаю, что даже 300 страниц с абсолютно одинаковым кодом плодить смысла нет. Но пока не осилил и не понял - как обойтись без физических страниц с красивыми урлами вида - /ford-focus.php Понимаю, и видел сайты где не настроен ЧПУ (mod_rewrite я так понимаю) и урлы имели вид index.php?id=24632 или index.php/?tovar=379&id=387378
Но мне бы так не хотелось делать и сейчас надо понять как это реализуется.
Иду читать про mod_rewrite
---------- Добавлено 23.10.2012 в 16:54 ----------
Потратьте немного времени на изучение ООП и посмотрите на какой-нибудь простой php-фреймворк.
В них уже заложены структура простых приложений и адресации. В БД лезть совершенно необязательно, если вы этого по-началу боитесь.
Ответьте, пожалуйста, а то ввели меня в заблуждение.
Т.е. как можно обойтись без БД? а от куда берутся данные (переменные) при получении того или иного значения ($_SERVER['REQUEST_URI']) ? Как понять простой php-фреймворк или нет...
Это жесть. Читаю про mod_rewrite http://habrahabr.ru/company/sprinthost/blog/129560/ и понимаю, что наверное мне это не осилить.
---------- Добавлено 23.10.2012 в 17:41 ----------
Спасибо ivan-lev.
Подсказал, что нужно мне использовать
Я понял, что какой бы адрес в строке браузера не ввели, страница будет редиректиться на index.php в которой мы типа будем получать инфо какой был запрошен урл первоначально и выдавать данные.
Но я не могу понять, как пс поймет какая страница реально существует, а какая нет...Ну просто принцип действия в голове не укладывается.
Ну ввел я в адресной строке www.site.ru/auto-audi.php - редирект на index.php и выводит нужные данные. А допустим страницы www.site.ru/auto-audi2.php - не существует, но все равно идет на редирект, и пустой шаблон получаем.
ivan-lev, повторюсь - я не профи, но на бытовом уровне так можно сделать?
любая страница сайта содержит только такой код
<? include('includes/shablon.php'); ?>файл shablon.php выглядит условно говоря так
---------- Добавлено 23.10.2012 в 14:36 ----------
В БД лезть совершенно необязательно, если вы этого по-началу боитесь.
Так я храню названия title, description, keywords, h1 и другие некоторые поля в зависимости от раздела в БД. Или вы не про это?
нет. Рекомендую ещё раз внимательнее прочитать статью. Погуглить про ЧПУ.
Посмотрите, как работают сайты на любом современном движке (drupal|wordpress) - у них ведь "красивые" адреса.. =)
Спасибо ещё раз, но самописный движек мне не осилить :) Далеко не тот уровень 😒
Вообще, ИМХО, более понятна (и уместна для Web-приложений) единая точка входа и MVC (с бонусами роутерами (это который sobiraet-dannye и передаёт дальше) -хелперами в виде отдельных/слабосвязанных классов)
Спасибо за инфо. Но если я правильно понял, то урлы будут вида www.site.ru/index.php?* . Да? Но я бы хотел сохранить в url внутренних страниц такими www.site.ru/plitka-atlas-concord.php Спасибо, буду читать. Я самоучка, прошу понять, мне весьма сложно освоить такие сложные технические вещи без помощи.
strip_tags
и если идёт добавление в БД, то mysql_real_escape_string
Спасибо. С strip_tags порядок, а вот второй дает ошибку.
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'stroyka'@'localhost' (using password: NO) in /home/stroyka/domains/plitka-r.ru/public_html/zapros.php on line 47
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/stroyka/domains/plitka-r.ru/public_html/zapros.php on line 47
LEOnidUKG, спасибо.
Я своими кривыми руками (кривые от недостатка знаний) и с вашей помощью сделал что в таблицу из формы данные заносятся читаемыми, в полях формы (если юзер недозаполнил поля) тоже читаемые показывает и в странице вывода контента тоже всё ок. Но столько лишних строк, меня просто убивает эта кодировка.
LEOnidUKG, может стоило всё оставить как было когда то в windows-1251 и не париться? Не вижу преимуществ для себя от utf-8
А то теперь даже чтобы ФИО юзера перевестив заглавные первые буквы вместо простого ucwords приходится писать
---------- Добавлено 21.10.2012 в 15:56 ----------
У вас у полей CP1251 в таблице
Специально некоторые так оставил, чтобы видеть какие норм выводятся какие нет. В итоге - не влияет. Я вообще запутался и нигде материал найти не могу, что в какой кодировке надо оставить. Мне же с полями потом ещё дальше работать нужно - переводить в верхний регистр, удалять символы и т.д.
Всю голову сломал и понять не могу, почему нужно писать после подключения к бд
mysql_query("SET CHARACTER SET 'utf8'", $db); // приводим в кодировку utf-8mysql_query("SET NAMES 'utf8'", $db); // приводим в кодировку utf-8
если у нас и так всё в utf-8.
и вот что получается после заполнения формы
У бд, у таблицы - ок. А collation у самих текстовых полей таблицы?
p.s. а запросы "set names" выполняются и при сохранении и при показе формы?
вот так сейчас
2. Когда добавляете в базу, скажем, значение поля field, попробуйте:
$field = iconv('windows-1251', 'UTF-8', $_POST['field']);
Сделал. Проверим на одном поле. Всё равно в таблицу добавляются иероглифы.
Сайт и файлы в кодировке utf-8.
ps Я так понимаю - главная задача сейчас - это сделать так, чтобы в таблицу записи добавлялись читаемыми.