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
main.phpCode:<!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>
css/style.cssCode:<?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(); ?>
class/admin_class.phpCode:* { 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; }
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.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); } } ?>


Reply With Quote