Zdravím, no vzhľadom na to, že som mal teraz veľa vecí na práci tak som tu nejako nepostoval nič nového ale keďže maturity sú až za mesiac tak sem niečo hodím. Veľa ľudí si v dnešnej dobe(hlavne mladý vývojári) kladie za podmienku pri tvorbe web stránok, že si vytvoria nejaké to CMS(SVK - Redakčný systém) a budú si tvoriť svoje šablónové weby. Technika, za málo roboty veľa peňazí. Tak by som tu ráz rozpral jednoduchý CMS. Upozorňujem, že ide len o CMS časť takže samotný web k tomu si musíte vytvoriť sami. Viac menej je to len administrátorská časť. Taktiež má niekoľko dier takže ide fakt len o inšpiráciu.

Štruktúra programu:
index.php
main.php
css/style.css
class/admin_class.php

index.php

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>CMS</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<div id="page-wrap">
<?php
error_reporting(E_ALL ^ E_NOTICE);
include_once('class/admin_class.php');
include_once("main.php");
?>
</div>
</body>
</html>
main.php

Code:
<?php
$obj = new admin_class();
      $obj->host = 'localhost';
      $obj->username = 'root';
      $obj->password = '';
      $obj->table = '';
      $obj->connect();
if ( $_POST )
$obj->write($_POST);
echo ( $_GET['admin'] == 1 ) ? $obj->display_admin() : $obj->display_public();
?>
css/style.css

Code:
*
{ 
margin: 0;
padding: 0; 
}
body							
{ 
font: 12px "Lucida Grande", Sans-Serif;
background: #ccc; 
}
#page-wrap						
{
width: 500px;
margin: 50px auto;
padding: 20px; 
background: white; 
}

h1, h2, h3						
{
font: 28px Georgia, Serif;
border-bottom: 1px dotted #ccc;
margin: 0 0 10px 0; 
}
.clear							
{ 
clear: both;
}
input[type="text"], textarea	
{
padding: 3px;
border: 1px solid #666; 
width: 350px;
margin: 0 0 15px 0; 
}
input[type="text"]				
{
font: 28px Georgia, Serif; 
}
textarea						
{ 
height: 100px; 
font: 12px "Lucida Grande", Sans-Serif; 
}
label							
{ 
background: #666;
color: white;
padding: 2px 6px; 
}
.post							
{ 
margin: 0 0 20px 0; 
}
class/admin_class.php

Code:
<?php
class admin_class {

  public $host;
  public $username;
  public $password;
  public $table;

public function display_public() {
    $q = "SELECT * FROM testDB ORDER BY created DESC LIMIT 3";
    $r = mysql_query($q);

    if ( $r !== false && mysql_num_rows($r) > 0 ) {
      while ( $a = mysql_fetch_assoc($r) ) {
        $title = stripslashes($a['title']);
        $bodytext = stripslashes($a['bodytext']);

        $entry_display .= <<<ENTRY_DISPLAY

    <div class="post">
    	<h2>
    		$title
    	</h2>
	    


	      $bodytext
	    </p>
	</div>

ENTRY_DISPLAY;
      }
    } 
	else {
      $entry_display = <<<ENTRY_DISPLAY

    <h2>Niesu ziadne nove oznami</h2>
    


      Na stranke sa nenachadzaju ziadne oznami.
    </p>

ENTRY_DISPLAY;
    }
    $entry_display .= <<<ADMIN_OPTION

    <p class="admin_link">
      Vlozit oznam
    </p>

ADMIN_OPTION;

    return $entry_display;
  }

  public function display_admin() {
    return <<<ADMIN_FORM

    <form action="{$_SERVER['PHP_SELF']}" method="post">
    
      <label for="title">Nazov:</label>

      <input name="title" id="title" type="text" maxlength="150" />
      <div class="clear"></div>
     
      <label for="bodytext">Oznam:</label>

      <textarea name="bodytext" id="bodytext"></textarea>
      <div class="clear"></div>
      
      <input type="submit" value="Vlozit" />
    </form>
    
    

    
    Spet

ADMIN_FORM;
  }

  public function write($p) {
    if ( $_POST['title'] )
      $title = mysql_real_escape_string($_POST['title']);
    if ( $_POST['bodytext'])
      $bodytext = mysql_real_escape_string($_POST['bodytext']);
    if ( $title && $bodytext ) {
      $created = time();
      $sql = "INSERT INTO testDB VALUES('$title','$bodytext','$created')";
      return mysql_query($sql);
    } else {
      return false;
    }
  }

  public function connect() {
    mysql_connect($this->host,$this->username,$this->password) or die("Could not connect. " . mysql_error());
    mysql_query("SET CHARACTER SET utf8");
    mysql_select_db($this->table) or die("Could not select database. " . mysql_error());

    return $this->buildDB();
  }

  private function buildDB() {
    $sql = <<<MySQL_QUERY
CREATE TABLE IF NOT EXISTS testDB (
title		VARCHAR(150),
bodytext	TEXT,
created		VARCHAR(100)
)
MySQL_QUERY;

    return mysql_query($sql);
  }

}

?>
Celý systém si stačí vytvoriť, zadať informácie ohladom databázy do súboru main.php a spustiť cez index.php. Automaticky vám vytvorí testovaciu databázu a môžete sa hrať. Ide fakt o jednoduchý systém, admin má možnosť vkladať veci no musíte si k tomu vytvoriť nejaký login a aj funkcie na odstránenie príspevku atd atd. Ale to by už nemal byť problém pre nikoho vzhľadom na to, že ide o OOP kde sa zmeny a vylepšenie robia veľmy jednoducho.