За последние 24 часа нас посетили 62735 программистов и 1740 роботов. Сейчас ищут 975 программистов ...

Обработка полученной информации перед выводом пользователю

Тема в разделе "Прочие вопросы по PHP", создана пользователем McLotos, 23 авг 2011.

  1. McLotos

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

    С нами с:
    24 фев 2011
    Сообщения:
    90
    Симпатии:
    0
    Fatal error: Call to undefined method template::evaluate() in Z:\home\{location}\www\parameters.php on line 41

    Вот файл parameters.php который инклудится во все файлы
    PHP:
    1. <?require "constants.php";?>
    2. <?require 'Template.php';?>
    3. <?
    4. if (empty($_SESSION['login']) and empty($_SESSION['password']))
    5. //если в сессии нет нужных данных, сообщаем пользователю что ему нужно авторизоваться
    6.  {echo "<h2>".$lang['msg.hello']."</h2>" ;}
    7.  //если сессия в порядке, проверяем уровень доступа и выводим соответствующее меню
    8.  else {
    9.  
    10.  if ($myrow['dostup'] == '0')
    11.  // вошёл админ, показать меню
    12.  {$acces='ProjectAdministrator';
    13.     echo "<h1>".$lang['msg.head']."</h1>";}
    14.  
    15.  elseif ($myrow['dostup'] == '1')
    16.  // вошёл менеджер, показать меню
    17.  {$acces='OfficeAdministrator';
    18.  echo "<h1>".$lang['msg.head']."</h1>";
    19.  echo "<h3>".$lang['msg.notification.head']."</h3>";}
    20.  
    21.  elseif ($myrow['dostup']=='2')
    22.  //вошёл сотрудник, статус не известен, уточнить является ли он LineManager'ом
    23. {$q="Select * from users where line_manager='".$_SESSION['Email']."'";
    24. $r=mysql_query($q);
    25. //если никого нет
    26. if (mysql_num_rows($r)==0)
    27. //вывести стандартное меню пользователя
    28. {$acces='Employee';}
    29. //или вывести меню для LineManager'а
    30. else {$acces='LineManager';
    31.     echo "<h1>".$lang['msg.head']."</h1>";}}
    32.  
    33.  //вошёл Координатор
    34.  elseif ($_SESSION['dostup']=='3')
    35.  //вывести меню
    36.     {$acces='Controller';  
    37.     echo "<h1>".$lang['msg.head']."</h1>";}
    38.     $q="select variable from config where category='Menu' and Access='$acces' and Location='{$_SERVER['REQUEST_URI']}'";
    39. $result=mysql_query($q);
    40. $myrow=mysql_fetch_array($result);}
    41. print Template::evaluate($myrow['variable'],$lang);
    42. ?>
    а код файла template.php я выкладывал раньше[/code]
     
  2. Михаил

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

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    а вы чей класс использовали мой или нет?
     
  3. Михаил

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

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    если мой то название класса с большой буквы
     
  4. McLotos

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

    С нами с:
    24 фев 2011
    Сообщения:
    90
    Симпатии:
    0
    хмм... тот, который выше выкладывал, или я что-то не так сделал? Что должно быть в template.php?
     
  5. Михаил

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

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    там мой класс скопируй
     
  6. McLotos

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

    С нами с:
    24 фев 2011
    Сообщения:
    90
    Симпатии:
    0
    какой? не понимаю.
    А мне что теперь нужно будет ещё и tpl файлы создавать?
     
  7. Михаил

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

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    tpl? а это зачем, никаких тпл,
    вот этот класс
    Код (Text):
    1.  
    2. class Template
    3. {
    4.    
    5.     public static function evaluate($str,$arr)
    6.     {
    7.         foreach($arr as $k=>$v)
    8.              $str = str_replace("#{".$k."}", $v,$str);
    9.        
    10.         return $str;
    11.     }
    12.    
    13. }
    вы просто перепутали это с шаблонизатором.
     
  8. McLotos

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

    С нами с:
    24 фев 2011
    Сообщения:
    90
    Симпатии:
    0
    УАУ!!!! ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!
     
  9. Михаил

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

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    пожалуйсто