Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вопрос по поводу сайта на php
 
 автор: Игор   (15.08.2007 в 15:31)   письмо автору
 
 

Всем добрый день. Так как я новичок в этом, возникла несколько вопросов связанной с php. Видел один готовый сайт написанной на php, нам есть файл index.php и несколько других файлов которые инклудится в этом файле.
В меню навигаци 5-6 ссылок (типа О компании, Продукция, наши контакты, услуги и тп.) Если провести курсор на них то внизу пишеться папка куда ссылаеться меню. Однако таких папок физически вообще не существует на сервере, так как я видел заходив через фтп.
(в этом сайте общый вид котента остаёться неизменным, то есть шапка, меню навигаци, нижная чать сайта, если заходите на остальные страницы с помошью меню навигаци открыветься та же вид сайта но уже другим контентом.
Вопрос №1: как остальные страницы генерируются с помощью php?
Вопрос №2: может ли сайт работат без CMS?

   
 
 автор: stas1987   (15.08.2007 в 16:06)   письмо автору
 
   для: Игор   (15.08.2007 в 15:31)
 

Ответ 1: mod_rewrite. документация apache. Шпаргалку прилагаю (на англ)
Ответ 2: по сути - cms это и есть сайт. Content Management System - система управления содержанием. Т.е. структура switch это и есть самый простой (до невозможного) способ реализации cms:
<?php
$get
=$_GET['page'];

switch(
$get){

case
"news";
echo
'Новости';
break;

case
"about";
echo
'О нас';
break;

default;
echo
'Главная';
break;

}

?>

Ну а вообще, полноценный cms - это плюс еще и раздел редактирования содержания сайта (admin zone).

   
 
 автор: Игор   (15.08.2007 в 17:00)   письмо автору
 
   для: stas1987   (15.08.2007 в 16:06)
 

Спасибо за ответ. Шпаргалку почитаю.Знаете скажем когда нажимаете к примеру на ссылку "продукция" когда начнётся загрузка этой страницы в адресной строке не отображаеться никакие параметры (index.php?параметры... такого нету). Если можно то здес я могу выложит код этого сайта и могли бы вместе обсудит, а то я не догнал его код полностью. Что скажеш?

   
 
 автор: stas1987   (15.08.2007 в 19:32)   письмо автору
 
   для: Игор   (15.08.2007 в 17:00)
 

Смотри, создаешь файл .htaccess в корне своего сайта с таким содержанием:


RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?query=$1 [L,QSA]



И теперь, все что пользователь будет видеть в адресной строке, скрипт будет видеть в переменной $query;

т.е.

Адр. строка - http://site.com/news/12345

Для скрипта видно так - http://site.com/index.php?query=news/12345

Ну а разбить строку думаю не сложно разобраться, например, в коде ниже я реализовал что-то наподобии змейки: $query разбиваю на массивы с разделителем '/' и затем, первый элемент массива - это название переменной, а второй элемент - её значение, третий элемент - название второй переменной, а четвертый - её значение и так далее. Вообщем код голый, я его состряпал на лету, но я уверен что-ты что-то додумаешь, и у тебя получиться отличное решение для твоего cms

<?php
$q
=$_GET['query'];
$x=explode('/',$q);
if(
count($x) > 1){
 foreach(
$x as $i => $item){
  if(!
is_float($i/2)){{
   
$ii=$i+1;
   $
$item=$x[$ii];
 }
 }
}
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования