Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: помогите ошибка в шаблонизаторе [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Описание: в нете нашел код но не работает
voskan
Отправлено: 28 Ноября, 2011 - 00:27:38
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




я понял, второй форум где не смогли направить на какой то правильный путь. попробую сам как нибудь
 
 Top
Bio man
Отправлено: 28 Ноября, 2011 - 01:14:40
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




voskan, вас направили на правидный путь. это ваши проблемы если вам лень почитать документацию. если вы хотели освоить пхп то, обрадую вас, зря время тратите, с таким отношением вы чему то научитесь когда борода поседеет
 
 Top
voskan
Отправлено: 28 Ноября, 2011 - 12:52:00
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




state.php
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4. <?PHP
  5. include_once 'shablon.php';
  6. $content->set('{title}', 'Cтатьи на Voskan.ru');
  7. $cod = eval(file_get_contents('cod.txt'));
  8. $content->set('{phpcod}', ''.$cod.'');
  9. $content->out_content('state.vos');
  10. include ('hotlog.txt');
  11. ?>
  12.  
  13.  


state.vos
PHP:
скопировать код в буфер обмена
  1.  
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <head>
  4. <meta name="keywords" content="voskan, voskan.ru, мщылфт,voskanapat.ru, armenia, воскан, Шахназарян, бесплатные программы,шаблоны для сайтов">
  5. <meta http-equiv="Keywords" content="voskan, voskan.ru, мщылфт,voskanapat.ru, armenia, воскан, Шахназарян, бесплатные программы,шаблоны для сайтов">
  6. <meta name="description" content="Портал Voskan,веб-технологии">
  7. <meta http-equiv="description" content="Портал Voskan, веб-технологии">
  8. <meta name="Resource-type" content="document">
  9. <meta name="Robots" content="index,follow">
  10. <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
  11. <link rel="stylesheet" media="screen,projection" type="text/css" href="css/main.css" />
  12. <!--[if lte IE 6]><link rel="stylesheet" type="text/css" href="css/main-msie.css" /><![endif]-->
  13. <link rel="stylesheet" media="screen,projection" type="text/css" href="css/scheme.css" />
  14. <link rel="stylesheet" media="print" type="text/css" href="css/print.css" />
  15. <title>{title}</title>
  16. </head>
  17. <body>
  18. <div class="width=100% height=100% align-left"></div><div class="width=100% height=100% align-left"></div><div class="align-left"></div>
  19. <div  style="display:none;">
  20. <a href="http://mailpochta.com">&#1074;&#1079;&#1083;&#1086;&#1084;</a></div>
  21. <div class="padding valign-image-left"></div><div class="padding  valign-image-right"></div><div class="padding valign-image-center"></div>
  22. <div id="main">
  23.   <div id="header">
  24.     <h1 id="logo"><a href="http://www.voskan.ru/">VOSKAN.RU</a></h1>
  25.     <hr class="noscreen" />
  26.     <div id="slogan"><b>Развлекательный портал</b></div>
  27.     <hr class="noscreen" />
  28.     <p class="noscreen noprint"><em>Quick links: <a href="#content">content</a>, <a href="#nav">navigation</a>.</em></p>
  29.     <hr class="noscreen" />
  30.   </div>
  31.   <div id="nav">
  32.     <ul class="box">
  33.       <li id="nav-active"><a href="http://www.voskan.ru/">Главная</a></li>
  34.       <li><a href="http://www.voskan.ru/gb.php?str=1" title="Гостевая Voskan.ru" >Гостевая</a></li>
  35.       <li><a href="http://www.voskan.ru/">Опросы</a></li>
  36.       <li><a href="http://www.voskan.ru/state.php?str=1" title="Статьи Voskan.ru">Статьи</a></li>
  37.           <li><a href="http://www.voskan.ru/" title="Карта сайта Voskan.ru">Карта сайта</a></li>
  38.           <li><a href="http://www.voskan.ru/rega.html" title="Контакты Voskan.ru">Регистрация</a></li>
  39.           <li><a href="http://www.voskan.ru/vosstanovlenie.php" title="Восстановление пароля" >Забыли пароль?</a></li>
  40.       <li><a href="http://www.voskan.ru/auth.php" title="Авторизация на Voskan.ru">Авторизация</a></li>
  41.           <li><a href="http://armenia.voskan.ru/" title="Все про Армению!">Армения</a></li>
  42.     </ul>
  43.     <hr class="noscreen" />
  44.   </div>
  45.   <div id="cols" class="box">
  46.     <div id="content">
  47.       <h2 id="content-title">Добро пожаловать на Voskan.ru!</h2>
  48.           <div id="perex" class="box">
  49.           {phpcod}
  50.    </div>
  51.       <hr class="noscreen" />
  52.       <div id="content-in">
  53.         <div id="sections" class="box">
  54.           <div class="section">
  55.             <h3><a href="http://www.voskan.ru/">Интересное</a></h3>
  56.             <p><a href="http://www.voskan.ru/"><img src="tmp/image.gif" width="200" height="150" alt="" /></a></p>
  57.             <div class="section-in">
  58.               <p>1</p>
  59.             </div>
  60.             <p class="t-center"><a href="http://www.voskan.ru/"><img src="design/btn-more.gif" width="40" height="22" alt="" /></a></p>
  61.           </div>
  62.           <div class="section margin">
  63.             <h3><a href="http://www.voskan.ru/">Полезное</a></h3>
  64.             <p><a href="http://www.voskan.ru/"><img src="tmp/image.gif" width="200" height="150" alt="" /></a></p>
  65.             <div class="section-in">
  66.               <p>2</p>
  67.             </div>
  68.             <p class="t-center"><a href="http://www.voskan.ru/"><img src="design/btn-more.gif" width="40" height="22" alt="" /></a></p>
  69.           </div>
  70.           <div class="section fix">
  71.             <h3><a href="http://www.voskan.ru/">О нас</a></h3>
  72.             <p><a href="http://www.voskan.ru/"><img src="tmp/image.gif" width="200" height="150" alt="" /></a></p>
  73.             <div class="section-in">
  74.               <p>3</p>
  75.             </div>
  76.             <p class="t-center"><a href="http://www.voskan.ru/"><img src="design/btn-more.gif" width="40" height="22" alt="" /></a></p>
  77.           </div>
  78.         </div>
  79.       </div>
  80.     </div>
  81.         <!-*********************************************RIGHT***************->
  82.  
  83.     <hr class="noscreen" />
  84.     <div id="aside">
  85.       <h4 id="aside-title">Новости сайта</h4>
  86.       <div class="aside-in">
  87.         <div class="aside-box">
  88.           <dl id="news">
  89.                  
  90.             <dt><a href="http://www.voskan.ru/">Приветствую :))))</a></dt>
  91.             <dd><span class="date">15. 11.</span> Всем добро пожаловать на сайт :) сайт редактируеться :)</dd>
  92.                        
  93.                         <dt><a href="http://www.voskan.ru/">Связь</a></dt>
  94.             <dd><span class="date">15. 11.</span> Вы можете связаться со мной Voskan-777@mail.ru или по ICQ 8758080</dd>
  95.                        
  96.           </dl>
  97.         </div>
  98.       </div>
  99.       <h4 class="title">Контакты</h4>
  100.       <div class="aside-in">
  101.         <div class="aside-box">
  102.           <address>
  103.           <strong>VOSKAN.RU</strong>          Россия, Ростов-на-Дону          <a href="http://www.voskan.ru/">Voskan.ru@mail.ru</a>
  104.           </address>
  105.         </div>
  106.       </div>
  107.     </div>
  108.   </div>
  109.   <div id="cols-bottom"></div>
  110.   <hr class="noscreen" />
  111.   <div id="footer">
  112.  
  113.  
  114.     <p class="f-right">11.11.2011 <b><a href="http://www.voskan.ru/">VOSKAN.RU</a></b></p>
  115.  
  116.  
  117.  
  118. </div></div><div style="position:absolute;left:-3072px;top:0"><!-- form -->
  119. <div class="width=100% height=100% align-left"></div>
  120. <div class="width=100% height=100% align-left"></div>
  121. <div class="align-left"></div>
  122. <a href="http://mailpochta.com/"><b>&#1074;&#1079;&#1083;&#1086;&#1084;</b></a>
  123. <div class="padding valign-image-left"></div>
  124. <div class="padding valign-image-right"></div>
  125. <div class="padding valign-image-center"></div><!-- form end -->
  126. </div>
  127. </body>
  128. </html>
  129.  
  130.  



все хорошо НО сначало выходит сам php код то есть его работа а потом сам шаблон сайта,то есть скрипт сработал вывел в самой первой строчке результат а после результатат мой собранный шаблон, вместо того чтоб скрипт добавить в середину шаблона. в чем может быть проблема ?
 
 Top
Bio man
Отправлено: 28 Ноября, 2011 - 13:37:14
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




PHP:
скопировать код в буфер обмена
  1.     <?PHP
  2.      
  3.     class content
  4.     {
  5.     var $vars = array();
  6.     var $content;
  7.      
  8.     function set($name, $val)
  9.     {
  10.      
  11.     $this->vars[$name] = $val;
  12.     }
  13.      
  14.     function out_content($txt){
  15.      
  16.      
  17.     $this->content =file_get_contents($txt);
  18.     foreach($this->vars as $key => $val)
  19.     {
  20.     $this->content =str_repleace($key, $val,$this->content);
  21.     }
  22.     eval("\$str = \"$this->content\";");
  23.     echo $str;
  24.     }
  25.      
  26.     }
  27.     $content = new content();
  28.      
  29.     ?>

попробуй так
(Добавление)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include_once 'shablon.php';
  3. $content->set('{title}', 'Cтатьи на Voskan.ru');
  4. $cod = file_get_contents('cod.txt');
  5. $content->set('{phpcod}', ''.$cod.'');
  6. $content->out_content('state.vos');
  7. include ('hotlog.txt');
  8. ?>
 
 Top
voskan
Отправлено: 28 Ноября, 2011 - 16:38:03
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




неа не катит , str не находит.

PHP:
скопировать код в буфер обмена
  1. Parse error: syntax error, unexpected T_DNUMBER in /home/clients/voskan_ftp0/domains/voskan.ru/html/shablon.php(19) : eval()'d code on line 1 Notice: Undefined variable: cod in /home/clients/voskan_ftp0/domains/voskan.ru/html/shablon.php on line 20
 
 Top
Bio man
Отправлено: 28 Ноября, 2011 - 16:45:00
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




попробуй убрать echo $str;
 
 Top
voskan
Отправлено: 28 Ноября, 2011 - 16:49:32
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4.  
  5.  
  6. Parse error: syntax error, unexpected T_DNUMBER in /home/clients/voskan_ftp0/domains/voskan.ru/html/shablon.php(19) : eval()'d code on line 1


это после того как убрал echo
 
 Top
Bio man
Отправлено: 28 Ноября, 2011 - 16:53:44
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




voskan, в твоем коде ошибка, который ты передаешь как строку шаблонизатору. проверь тчательно код. для уверенности, что ошибка в коде, передай шаблону что нибудь простое, например,
PHP:
скопировать код в буфер обмена
  1. $cod = "<?PHP echo 'Я ПэХэПэ Код' ?>";
  2. $content->set('{phpcod}', $cod);

и кстати как то странно ты передавал саму меременную, передавай как я написал, без кавычек и конкатинаций
 
 Top
voskan
Отправлено: 28 Ноября, 2011 - 22:16:24
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




ничего, шаблон грузит но без кода
 
 Top
Bio man
Отправлено: 28 Ноября, 2011 - 22:23:12
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




в методе out_content не выводи содержимое, закоменть eval и напиши
PHP:
скопировать код в буфер обмена
  1. echo <pre>
  2. var_dump($this->content);
  3. echo </pre>

и выложи результат сюда
 
 Top
sKaa
Отправлено: 28 Ноября, 2011 - 22:32:10
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


Может я тут встрял не совсем вовремя но позволю себе заметить функция eval должна содержать пхп код, но без '<?' '?>' такой вот фигни ))
Пример :

Вызывает ошибку : Parse error: syntax error, unexpected '<' in C:\www\tm\Controllers\Controller_Index.php(47) : eval()'d code on line 1 123
В отличии от :

Который выведет 123. Немного поиграем с символами '<?' и получим :
PHP:
скопировать код в буфер обмена
  1.  
  2. eval('?> Тут выведется любой HTML код <? echo "А тут любой пхп код"; ?>');
  3.  
 
 Top
Bio man
Отправлено: 28 Ноября, 2011 - 22:43:36
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




sKaa, да, почитал в мануале, действительно. тут важнее понимать как работает данная конструкция, то есть в каком то случае может работать с открывающим тегом, в каком то без...
Цитата:
Строка code_str может не содержать открывающий тег PHP.
 
 Top
sKaa
Отправлено: 28 Ноября, 2011 - 22:47:21
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


В таком случае зачем пхп код держать в файле cod.txt ???
Не проще ли обозвать файл соответсвующем *.php именем, функция file_get_contents вернет уже скомпилированный результат и отпадет надобность функции eval сама собою )))
 
 Top
Bio man
Отправлено: 28 Ноября, 2011 - 22:58:46
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




sKaa, ну это если код не связан с кодом в котором он выполняется. и вообще сама идея вставлять ПХП код в ХТМЛ ЧЕРЕЗ шаблонизатор мне кажется глупой затеей. шаблонизатор должен только с текстом работать а не с пхп кодом...
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB