Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: шаблон
 
 автор: Oligarx   (29.05.2006 в 14:18)   письмо автору
 
 

Здравствуйте.

Есть такой шаблон

Файл template.tpl

<html>
 <head>
  <title><?=strtoupper($title)?></title>
  <meta name=descripxion content="<?=$descripxion?>">
  <meta name=keywords content="<?=$keywords?>">
  <meta name=robots content="index">
  <meta http-equiv=content-type content="text/html; charset=windows-1251">
 </head>
<body>
<?=$kontent?>
</body>
</html>


вот страничка index.php

<?
$title
="rtyrtygdfgd";
$description="asdfgdgdfgdf";
$keywords="cvbdfgdfgdfg";
$kontent="А вот здесь мне нужно заинклюдить скрипт ... например гостевую книгу или фото галерею";

require_once(
"../themes/template.tpl");
?>


$kontent="А вот здесь мне нужно заинклюдить скрипт ... например гостевую книгу или фото галерею";

вот это у меня и не получается ((( напрмер пишу $kontent = "require_once("gvestbook.php");"; и на страничке соответственно выводится require_once("gvestbook.php"); а мне нужно чтоб это выполнялось

   
 
 автор: Loki   (29.05.2006 в 14:27)   письмо автору
 
   для: Oligarx   (29.05.2006 в 14:18)
 

Ну либо сам скрипт надо править, либо можно использовать такой способ (сразу предупреждаю: он неправильный, но в данном случае скорее всего сработает)
<?
$kontent
=file_get_contents("http://server_name.ru/guest.php");

но лучше все таки гостевую переправить.

   
 
 автор: kadet_73   (29.05.2006 в 14:28)   письмо автору
 
   для: Oligarx   (29.05.2006 в 14:18)
 

А функцией include() не пробовал? ;)

   
 
 автор: Loki   (29.05.2006 в 14:35)   письмо автору
 
   для: kadet_73   (29.05.2006 в 14:28)
 

вы уж договоривайте - как при этом должен изменится результат? Или просто пальцем в небо тыкаете?

   
 
 автор: Oligarx   (29.05.2006 в 14:49)   письмо автору
 
   для: Loki   (29.05.2006 в 14:35)
 

Инклюдить пробывал ... но просто выводится (выводится функция include а мне нужно чтоб она не выводилась а исполнялась)

   
 
 автор: kadet_73   (29.05.2006 в 14:56)   письмо автору
 
   для: Oligarx   (29.05.2006 в 14:49)
 

Я что то не понял? Как это выводится? Ты инклюдишь скрипт php, а инструкции по выполнению наверно в нем должны содержаться

   
 
 автор: Artem S.   (29.05.2006 в 14:56)   письмо автору
 
   для: Oligarx   (29.05.2006 в 14:49)
 


eval(include(...))


Как вариант, переименовать tpl в php или исполнять tpl как php.

   
 
 автор: Oligarx   (29.05.2006 в 19:26)   письмо автору
 
   для: Artem S.   (29.05.2006 в 14:56)
 

Да там побарабану, хоть в txt переименуй ... всё равно всё что в нём инклюдится (require_once) в файл index.php и там уже исполняется !!!

А вот функция eval что делает ? чёт в справочнике не нашёл ....

   
 
 автор: Oligarx   (29.05.2006 в 19:32)   письмо автору
 
   для: Oligarx   (29.05.2006 в 19:26)
 

$kontent="eval(include(qwe.txt));"; вот так пишу ... и на экран так же и выводится ... а нужно чтобы исполнялось ..................

   
 
 автор: Oligarx   (30.05.2006 в 00:43)   письмо автору
 
   для: Oligarx   (29.05.2006 в 19:32)
 

что никто не знает ? ... или вопрос опять плохо сформулировал ?

   
 
 автор: Oligarx   (30.05.2006 в 01:36)   письмо автору
 
   для: Oligarx   (30.05.2006 в 00:43)
 

...

   
 
 автор: Artem S.   (30.05.2006 в 09:16)   письмо автору
 
   для: Oligarx   (30.05.2006 в 01:36)
 


ob_start();
eval(include(...)) 
$k = ob_get_contents();
ob_end_clean();

   
 
 автор: Loki   (30.05.2006 в 09:58)   письмо автору
 
   для: Artem S.   (30.05.2006 в 09:16)
 

мне кажется все же должно быть

eval(file_get_contents(...)) 

   
 
 автор: Oligarx   (30.05.2006 в 18:55)   письмо автору
 
   для: Loki   (30.05.2006 в 09:58)
 

либо я недопонял, либо вы ...
Мне нужно чтоб напрмер

echo(include("qwe.txt"));

ну или вместо include любая другая функция не тупо отображалась в браузере а выполнялась ... интерпритировалась тобеж. (может так ваще нельзя сделать ?) или нужно например добавить какой нибуть символ перед функцией и если этот символ есть ... то интерпретировать ... а если нету то выводить как echo ...

Ну вот ...

   
 
 автор: Oligarx   (30.05.2006 в 21:11)   письмо автору
 
   для: Oligarx   (30.05.2006 в 18:55)
 

...

   
 
 автор: Artem S.   (30.05.2006 в 21:31)   письмо автору
 
   для: Oligarx   (30.05.2006 в 21:11)
 

я уже и не знаю что вы хотите, я все варианты перебрал что вам нужно, как мне казалось.
Может объясните не что вам нужно, а для чего это вам, может станет понятнее.

   
 
 автор: Loki   (30.05.2006 в 22:17)   письмо автору
 
   для: Oligarx   (30.05.2006 в 18:55)
 

Так а какой из вышеизложенных вариантов вы вообще попробовали?

   
 
 автор: Oligarx   (31.05.2006 в 00:49)   письмо автору
 
   для: Oligarx   (29.05.2006 в 14:18)
 

ок. Объясню ещё раз ...

Значит есть у нас 2 файла:

1) template.tpl

<html>
<head>
  <title><?=strtoupper($title)?></title>
  <meta name=descripxion content="<?=$descripxion?>">
  <meta name=keywords content="<?=$keywords?>">
  <meta name=robots content="index">
  <meta http-equiv=content-type content="text/html; charset=windows-1251">
</head>
<body>
<?=$kontent?>
</body>
</html>


Здесь содержится шаблон сайта ... тобеж по этому каркасу должен строиться сайт (чтоб все странички были одинаковыми).

2) index.php (Главная страничка сайта)


<?
$title
="Главная страничка";
$description="бла-бла-бла";
$keywords="ываываываыв";
$kontent="Вы находитесь на главной страничке (это типо контент)";

require_once(
"../themes/template.tpl");
?>


(Здесь всё понятно) ?

Мне здесь тоже всё понятно, но вот как можно сделать, чтобы было вот так ...

3) gvestbook.php (Гостевая сайта)


<?
$title
="Гостевая сайта";
$description="бла-бла-бла";
$keywords="ываываываыв";
$kontent="include("gbook.php")";

require_once(
"../themes/template.tpl");
?>


Ну и так далее можно так же сделать фото галерею ...

Вот собственно и проблема (не могу подключить в нужное место в шаблоне нужный код)

Просьба не предлогать шаблоны типа Smarty

Насчёт таких шаблонов есть статья http://spectator.ru/technology/php/easy_templates (интересно мнение тех кто прочитает эту статью)


Ну и просьба помочь ...

   
 
 автор: hell_riser   (31.05.2006 в 01:27)   письмо автору
 
   для: Oligarx   (31.05.2006 в 00:49)
 

Сдаётся мне проблема в определении переменной $kontent
У вас :

<?php
$kontent 
"include("gbook.php")";
?>


а надо вроде бы так:

<?php
//Кавычки у вас лишние
$kontent = include("gbook.php");
?>

   
 
 автор: Oligarx   (31.05.2006 в 06:18)   письмо автору
 
   для: hell_riser   (31.05.2006 в 01:27)
 

теперь работает, но не так кака бы хотелось ....

нужно чтоб инклюдилось в указаное переменной место ... а получается что инклюдится в самом верху страницы (((

   
 
 автор: hell_riser   (31.05.2006 в 08:14)   письмо автору
 
   для: Oligarx   (31.05.2006 в 06:18)
 

А попробуйте подключать не скрипт к шаблону, а шаблон к скрипту.

   
 
 автор: Loki   (31.05.2006 в 10:50)   письмо автору
 
   для: Oligarx   (31.05.2006 в 06:18)
 

Блин... ну откройте же вы наконец справочник! сколько же можно методом тыка делать?
<?
return.php
<?php

$var 
'PHP';

return 
$var;

?>

noreturn.php
<?php

$var 
'PHP';

?>

testreturns.php
<?php

$foo 
= include 'return.php';

echo 
$foo// prints 'PHP'

$bar = include 'noreturn.php';

echo 
$bar// prints 1

?>

   
 
 автор: Oligarx   (31.05.2006 в 19:06)   письмо автору
 
   для: Loki   (31.05.2006 в 10:50)
 

Loki, прокомментируй пожалуйста свой пост ... а то что то плохо представляю, что он делает.

   
 
 автор: Loki   (31.05.2006 в 20:20)   письмо автору
 
   для: Oligarx   (31.05.2006 в 19:06)
 

Файл который инклудится должен по структуре напоминать функцию и содержать строчку

return $var;

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

   
 
 автор: Panker   (31.05.2006 в 06:18)   письмо автору
 
   для: hell_riser   (31.05.2006 в 01:27)
 

а такой удобный шаблон был ((((((((

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования