Значи като цяло методът е прост...Форма която да записва съдържанието на страниците в базата данни,скрипт който да качва инфромацията в БД и скрипт който да показва страниците.
Нужни файлове:
1. db_connection.php // Wr1zka s bazata danni!
2. view.php // Pokazvane na stranicite
3. create_static.php // Forma za sazdavane
4. process_static.php // Obrabotvane na info-to ot formata i ka4ane na sadarjanieto v bazata danni!
И така ...
Преди да се захванем с тези файлове трябва да си направим таблица в базата данни с следният код:
CREATE TABLE IF NOT EXISTS `static_pages` (
`pageID` int(11) NOT NULL AUTO_INCREMENT,
`pageHTML` text,
`pageTitle` varchar(255) NOT NULL,
`datetime` varchar(50) NOT NULL,
PRIMARY KEY (`pageID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Така...в PHPMYADMIN копирате този код, като цъкате на SQL таб-а , след като сте избрали Базата Данни!
Създаваме и връзката с базата данни - db_connection.php с следния код:
<?php
$host="localhost"; // Host name (по подразбиране е локалния)
$username="потребител"; // Mysql потребител
$password="парола"; // Mysql парола
$db_name="база данни"; // база данни (ВНИМАНИЕ! ТОВА НЕ Е ТАБЛИЦАТА КОЯТО СЪЗДАДОХМЕ ПО ГОРЕ!)
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
?>
И така... следва формата : създаваме файла create_static.php и слагаме следния код:
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="green">
<tr>
<form id="form1" name="form1" method="post" action="process_static.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3" bgcolor="#e5ebf9" align=center><strong><font color=green>Ñúçäàé íîâà ñòàòè÷íà ñòðàíèöà</font></strong> </td>
</tr>
<tr>
<td width="60px"><strong>Çàãëàâèå</strong></td>
<td width="2">:</td>
<td width="100%"><input name="pageTitle" type="text" id="pageTitle" size="50" /></td>
</tr>
<tr>
<td valign="top"><strong>Ñúäúðæàíèå</strong></td>
<td valign="top">:</td>
<td><textarea rows="20" cols="60" name="pageHTML" id="pageHTML"></textarea></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Submit" /> <input type="reset" name="Submit2" value="Reset" /></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
..Предполагам обяснения за ХТМЛ форма не са нужни...единственото което е важно е name="ne6to si",в случая "ne6to si" е редът в базата данни към когото добавяме информация!
След това създаваме process_static.php и вписваме следния код:
<?php
include ('db_connection.php');
if (empty($_POST['pageTitle'])) {
echo '<p><font color="red">Полето с заглавието е празно!</font></p>';
} else {
$pageTitle = $_POST['pageTitle'];
}
if (empty($_POST['pageHTML'])) {
echo '<p><font color="red">Полето с HTML кода е празно!</font></p>';
} else {
$pageHTML = $_POST['pageHTML'];
}
$datetime=date("d/m/y h:i:s"); //create date time
if ($pageTitle && $pageHTML) {
$sql="INSERT INTO static_pages(pageTitle, pageHTML, datetime)VALUES('$pageTitle', '$pageHTML', '$datetime')";
$result=mysql_query($sql);
if($result){
echo 'Създаването на страницата е успешно!';
}
else {
echo 'Работата се прееба нещо,опитай пак!';
}
}
?>
Обяснение :
include - тагът както се сещате ни е нужен,за да "импортираме" кода от db_connection.php , без който скрипта не може да се свърже с базата данни.
този код :
if (empty($_POST['pageHTML'])) {
echo '<p><font color="red">Полето с HTML кода е празно!</font></p>';
} else {
$pageHTML = $_POST['pageHTML'];
}
се използва за да се провери , дали полето с HTML кода от формата е празно.Ако това е така , скрипта ще покаже грешка и записването на страницата няма да стане.Същото се отнася и за заглавието! По долу в кода има if($pageHTML && ...) ... което проверява дали полетата са празни или не.В случай че са , скрипта ще покаже 'Работата се прееба нещо,опитай пак!' .
И сега последният файл,който ще покаже страниците ни и линковете към тях в браузър-а. Създаваме следният файл - view.php и вписваме следният код:
<?php
include('db_connection.php');
if ((isset($_GET['pageID'])) ) {
$pageID = $_GET['pageID'];
} elseif ( (isset($_POST['pageID'])) ) {
$pageID = $_POST['pageID'];
} else {
$query = "SELECT * FROM static_pages";
$result = mysql_query($query);
if ($result) {
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo '
<a href=view.php?pageID='.$row['pageID'].'>'.$row['pageTitle'].'</a><br>
';
}
}
exit();
}
$query = "SELECT * FROM static_pages WHERE pageID='$pageID'";
$result = mysql_query($query);
if ($result) {
$row = mysql_fetch_array($result, MYSQL_ASSOC);
echo '
' . $row['pageHTML'] . '
';
}
?>
Обяснение - Такам , ще карам накратко.Ако линка в браузър-а не е нещо от сорта на http://site.com/view.php?pageID=nomer_na_stranica , то ще ви излезнат само линковете към страниците!Оттам си избирате страницата която искате да видите и цъкате на нея.Тогава вече линка в браузър-а ще бъде нещо от сорта на http://site.com/view.php?pageID=nomer_na_stranica и ще ви излезне само съдържанието на страницата.Общо зето това правят 2-те части от кода. (отново трябва да има include таг за връка с базата данни!)
Следва продължение - Импортиране на професионален TinyMCE едитор при добавяне на страница и AdminPanel за триене и променяне на текущи страници!