Помогни ни да направим Uroci.net по - богат! Добави урок

Как да си направим - Static Pages

PHP » PHP
Konspiratora   трудност:    видян: 8494

Значи като цяло методът е прост...Форма която да записва съдържанието на страниците в базата данни,скрипт който да качва инфромацията в БД и скрипт който да показва страниците.

Нужни файлове:

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 за триене и променяне на текущи страници!




Коментари (2)

miro91 на 09.04 2009 в 19:13ч.
прегледах кода и не е много сигурен. и include не е ТАГ а е функция
tery_92 на 28.01 2010 в 12:33ч.
Как да едитвам ?

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com