Трябва ми малко помощ относно сайт...

ripa

Registered
Здравейте,
Искам да направя сайт, без значение тематиката, но ми трябва малко помощ отностно страниците на сайта. Въпросът ми е как да ги подредя в файлове?

За да ме разберете по-конкретно ще се опитам да ви го обясня:

1.Всяка страница като "index.php", "contact.php", "about.php" и т.н. да бъде в отделен файл.

2.В файла "index.php" горният год да бъде инклуднат от файл "header.php", долният код от файл "footer.php", а средният да си остане в "index.php". Като в средате е PHP код, които да изкарва останалите страница след като вземе някаква променлива от URL.

3.Или някакъв друг начин, за които бих желал да ми помогнете.

Исками се да ми обясните как е най-добре да бъдат подредени кодовете в файловете... Не мога да го обясня много точно, но се надявам да сте ме разбрали...
 
Аз не разбрах, какво точно питаш, защото ти си го написал/а, какво трябва да се направи..
Код:
< ?php include 'header.php'; ?>

съдържанието

< ?php include 'footer.php'; ?>

Имаш файл contact.php:

Код:
< ?php include 'header.php'; ?>

информация за контакт, форма за контакт...

< ?php include 'footer.php'; ?>

и т.н. с файловете
 
Създаваш файл index.php и в него пишеш следния код.

PHP:
<?php

//Взимаме променливата от URL кой файл да се отвори
$page = isset($_GET["page"]) ? $_GET["page"] : "index";

//Създаваме array със страници които имаме
$pages = array("index","about","contact");

//Проверяваме дали взетата страница я има в array-a с позволени страници
//и ако я има я зареждаме. Ако я няма, ще изведем грешка 404.
if(in_array($page,$pages)) {
    //Зареди името на файла от папка pages
    require_once("pages/{$page}.php");
} else {
    echo "Error 404. Страницата не може да бъде намерена.";
}

?>

Всички страници които искаш да ти се зареждат трябва да ги оставиш в папка наречена 'pages' там където е index.php. Тоест ако в www директорията имаш index.php , то в www директорията трябва да имаш и папка която се казва pages и в нея има php файловете със съдържанието което искаш да заредиш.
 
Това което дава qazxsw е най - елементарния приемер, може да започнеш от там. :))

Лично аз нещатата ги правя подобно на този начин, но леко модифициран. Имам .htaccess файл.

PHP:
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

Информацията, която ще пристигне в index.php ще е всичко което е въведено в URL лентата. Тоест въвеждам: http://moqt_sait.com/controller/method/action/

index.php Извиква един .php файл, който разбива url - то и го запазвам в един масив.
base => 'moqt_sait.com'
contoller => 'controller' (Класът или файлът който ще инклудваме)
method => method (Методът от класа или функцията от файла)
actions => array(action) (Масив от аргументи пратени към функцията или метода)

След това чрез autoloader използвам информацията. Инкулдвам файла (contoller) зареждам метода или функцията (ако е нужно) и съответните им параметри (ако има).

Така получаваме frienly url и една входна точка.
 
Добре, но другият ми въпрос е примерно, ако го направя с метода на "qazxsw" или на "vinsbg", как мога да направя така, че на всяка страница съответното меню да е "active" при положение, че HTML-a на менютата e в "header.php".

Мисълта ми е примерно ако сам на "contact.php" горе менюто ми "контакти" стои селектирано, смисъл има ефект или не знам по какав начин да се изразя точно, мисля че ме разбрахте.
 
ripa каза:
Мисълта ми е примерно ако сам на "contact.php" горе менюто ми "контакти" стои селектирано, смисъл има ефект или не знам по какав начин да се изразя точно, мисля че ме разбрахте.

СSS
 
То ясно, ама не знам как трябва да стане, ако може малко пояснения относно кода... в момента това имам в "header.php"

"

<div class="menu">
<a href="/index.php" class="active">Начало</a>

<a href="/contact.php">Контакти</a>
<a href="/about.php">За нас</a>

<span class="right">

</span>
<div class="clear"></div>
</div>

"
 
бих ти препоръчал да вземеш да изгледаш някоя серия за хтмл/цсс и след това някоя серия за php. мисля, че така ще получиш най-добрият отговор :)
 

Back
Горе