Witam,
zakupłem ksiązke helionu Projektowanie systemów cms... itd.
I mam problem ponieważ kod do wyświetlania działa lecz nie widze treści z bazy mysql po mimo tego, że funkcje szukania działają.
Proszę o jakąś radę.
Pozdrawiam.
plik index.php
<?php
// { common variables and functions
include_once('ww.incs/common.php');
$page=isset($_REQUEST['page'])?
$_REQUEST['page']:''; $id=isset($_REQUEST['id'])?
(int
)$_REQUEST['id']:0;
// { get current page id
if(!$id){
if($page){ // load by name
$r=Page::getInstanceByName($page);
if($r && isset($r->id))$id=$r->id; }
if(!$id){ // else load by special
$special=1;
if(!$page){
$r=Page::getInstanceBySpecial($special);
if($r && isset($r->id))$id=$r->id; }
}
}
// { load page data
if($id){
$PAGEDATA=(isset($r) && $r)?
$r : Page
::getInstance($id); }
else{
echo '404 thing goes here'; }
plik basics.php
<?php
function __autoload($name) {
require $name . '.php';
}
function dbInit(){
if(isset($GLOBALS['db']))return $GLOBALS['db']; $db=new PDO('mysql:host='.$DBVARS['hostname'].';dbname='.$DBVARS['db_name'],$DBVARS['username'],$DBVARS['password']);
$db->query('SET NAMES utf8');
$db->num_queries=0;
$GLOBALS['db']=$db;
return $db;
}
function dbQuery($query){
$db=dbInit();
$q=$db->query($query);
$db->num_queries++;
return $q;
}
function dbRow($query) {
$q = dbQuery($query);
return $q->fetch(PDO::FETCH_ASSOC);
}
define('SCRIPTBASE', $_SERVER['DOCUMENT_ROOT'] . '/'); require SCRIPTBASE . '.private/config.php';
if(!defined('CONFIG_FILE'))define('CONFIG_FILE',SCRIPTBASE
.'.private/config.php');
plik Page.php
<?php
class Page{
function __construct($v,$byField=0,$fromRow=0,$pvq=0){
# byField: 0=ID; 1=Name; 3=special
$r=$fromRow?
$fromRow:($v?dbRow
("select * from pages where id=$v limit 1"):array()); }
else if ($byField == 1){ // by name
$fname='page_by_name_'.md5($name); $r=dbRow
("select * from pages where name like '".addslashes($name)."' limit 1"); }
else if ($byField == 3
&& is_numeric($v)){ // by special $fname='page_by_special_'.$v;
$r=dbRow("select * from pages where special&$v limit 1");
}
else return false;
if(!isset($r['id']))$r['id']=0; if(!isset($r['type']))$r['type']=0; if(!isset($r['special']))$r['special']=0; if(!isset($r['name']))$r['name']='NO NAME SUPPLIED'; foreach ($r as $k=>$v) $this->{$k}=$v;
$this->urlname=$r['name'];
$this->dbVals=$r;
self::$instances[$this->id] =& $this;
self::$instancesBySpecial[$this->special] =& $this;
if(!$this->vars)$this->vars='{}';
$this->vars=json_decode($this->vars);
}
function getInstance($id=0,$fromRow=false,$pvq=false){
if (!@array_key_exists($id,self::$instances)) self::$instances[$id]=new Page
($id,0
,$fromRow,$pvq); return self::$instances[$id];
}
function getInstanceByName($name=''){
if(@array_key_exists($nameIndex,self::$instancesByName))return self::$instancesByName[$nameIndex]; self::$instancesByName[$nameIndex]=new Page($name,1);
return self::$instancesByName[$nameIndex];
}
function getInstanceBySpecial($sp=0){
if (!@array_key_exists($sp,$instancesBySpecial)) $instancesBySpecial[$sp]=new Page
($sp,3
); return $instancesBySpecial[$sp];
}