За последние 24 часа нас посетили 17895 программистов и 1608 роботов. Сейчас ищут 1355 программистов ...

Хелп, помогите со скриптами

Тема в разделе "PHP и базы данных", создана пользователем Marine, 6 ноя 2010.

  1. Marine

    Marine Активный пользователь

    С нами с:
    20 июн 2010
    Сообщения:
    9
    Симпатии:
    0
    Помогите, пожалуйста, разобратся в скрипте. Мучаюсь который день(
    Есть 3 файла, выложены.
    Не передается $id по $_GET запросу из index.php в обрабатывающий файл pages.clases.php в function Clases.
    index.php:
    <?php
    if(isset($_GET['i'])) {$id=$_GET['i'];}
    require_once "****/init.php";




    function show()
    {
    global $smarty;
    //$id = intval(getVar('i',1));
    if ($id<1)
    {
    $oPg = new Pages();
    $id = $oPg->getIdFirstPages();
    }

    $oPg = new Pages($id);

    $smarty->assign("title", $oPg->title);
    $smarty->assign("header", $oPg->header);
    $smarty->assign("content", $oPg->content);
    $smarty->assign("description", $oPg->description);
    $smarty->assign("keywords", $oPg->keywords);




    #$smarty->assign('oPg', $oPg);


    $smarty->display($_SERVER['DOCUMENT_ROOT'].'***l');


    }

    ?>


    init.php:

    <?php

    $app = $_SERVER['DOCUMENT_ROOT'].'/';

    /**
    * Starting session
    */
    session_set_cookie_params(0, "/");
    session_name(SESS_NAME);
    session_start();

    header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
    header( 'Cache-Control: no-store, no-cache, must-revalidate' );
    header( 'Cache-Control: post-check=0, pre-check=0', false );
    header( 'Pragma: no-cache' );


    //require_once "common.func.php";
    /**
    * Starting Smarty template engine
    */
    define('SMARTY_DIR', $app.'**/smarty_library/');
    require_once (SMARTY_DIR.'Smarty.class.php');

    $smarty = new Smarty ();

    $smarty->template_dir=$app.'i**/templates/';
    $smarty->compile_dir=$app.'**/templates_c/';
    $smarty->config_dir=$app.'**/smarty_library/configs/';
    $smarty->cache_dir=$app.'**/smarty_library/cache/';
    # $smarty->debugging = false;
    #$smarty->debugging = true;
    #$smarty->assign("msg", $_LANG);


    /**
    * Preparing menu (list of dynamic pages)
    */
    require_once "pages.class.php";

    $Pg = new Pages();
    $smarty->assign('MN1', $Pg->GetPagesByMenu(1));
    #$smarty->assign('MN2', $Pg->GetPagesByMenu(2));
    # $smarty->assign('MN3', $Pg->GetPagesByMenu(3));
    # $smarty->assign('MN4', $Pg->GetPagesByMenu(4));
    #$smarty->assign('MN5', $Pg->GetPagesByMenu(5));
    #$smarty->assign('MN6', $Pg->GetPagesByMenu(6));



    /**
    * Project's name
    */
    $smarty->assign("prj_name", PRJ_NAME );

    /**
    * Send Last-Modified header
    */
    if (!headers_sent()) header("Last-Modified: " . gmdate("D, d M Y H:i:s", mktime(10, 0, 5, date("m"), date("d")-1, date("Y"))) . " GMT");

    ?>


    pages.class.php:

    <?php
    require_once "config/db.php";
    class Pages extends Db
    {
    var $id;
    var $title;
    var $header;
    var $keywords;
    var $description;
    var $content;
    var $visible;



    function Pages($id=NULL){

    if($id>0)
    {
    //$this->id=intval($id);
    settype($id,integer);
    switch(SQL_LAYER){
    default:
    $sql="SELECT id,title,header,content,description,keywords FROM *** WHERE
    id={$id}";
    }

    $rs=$this->sql($sql);
    $rw=$this->sql_fetchrow($rs);

    $this->id= $row[0];
    $this->title= $row[1];
    $this->header= $row[2];
    $this->content= $row[3];
    $this->description= $row[4];
    $this->keywords = $row[5];

    unset($rs, $rw);
    }
    else{
    echo "not work(((";
    }
    }



    function getIdFirstPages()// если нет id, выборка 1го значения из БД
    {
    //global $db;
    switch (SQL_LAYER)
    {
    default:
    $sql= "SELECT id FROM *** WHERE status='1' ORDER BY id LIMIT 1;";
    }
    $rs= $this->sql($sql);
    $rw=$this->sql_fetchrow($rs);
    $id=intval($rw['id']);
    unset($rs,$rw);
    return $id;
    }




    //
    function GetPagesByMenu($visible=0)
    {
    //global $db;
    // settype($visible,integer);
    $arr= array();

    switch (SQL_LAYER)
    {
    default:
    $sql="SELECT id,title,header FROM i***WHERE visible=".intval($visible)." AND status='1'ORDER BY position";
    }
    $rs = $this->sql($sql);
    while ($rw = $this->sql_fetchrow($rs))
    {

    $arr[] = array(
    'id'=>$rw['id'],
    'title'=>$rw['title'],
    'header'=>$rw['header']
    );

    }

    unset($rw, $rs);
    return $arr;

    }
    }
    ?>
     
  2. Зверь

    Зверь Активный пользователь

    С нами с:
    2 ноя 2010
    Сообщения:
    80
    Симпатии:
    0
    Адрес:
    Екатеринбург
    Попробуй функцию конструктора так и назвать __construct
     
  3. Зверь

    Зверь Активный пользователь

    С нами с:
    2 ноя 2010
    Сообщения:
    80
    Симпатии:
    0
    Адрес:
    Екатеринбург
    Еще в функции show() дописать global $id, в чем скорее всего и проблема