Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] "Szablony"
Forum PHP.pl > Forum > Przedszkole
Axexis
Hi. smile.gif

Mamy sobie 2 pliki: index.php i ble.inc.php
plik index.php
[PHP] pobierz, plaintext
  1. <?php
  2. $a = "ble bla zmiennej a";
  3. $title = "tytul";
  4. $plik = file_get_contents('ble.inc.php');
  5. #
  6. eval("\$cos = \"".$plik."\";");
  7. echo $cos;
  8. ?>
[PHP] pobierz, plaintext

Plik ble.php
[PHP] pobierz, plaintext
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  4. <meta http-equiv="content-language" content="pl" />
  5. <meta name="robots" content="noindex,nofollow" />
  6. <link rel="stylesheet" media="screen,projection" type="text/css" href="css/main.css" /> <!-- MAIN STYLE SHEET -->
  7. <script type="text/javascript" src="js/jquery.js"></script>
  8. <script type="text/javascript" src="js/switcher.js"></script>
  9. <script type="text/javascript" src="js/toggle.js"></script>
  10. <script type="text/javascript" src="js/ui.core.js"></script>
  11. <script type="text/javascript" src="js/ui.tabs.js"></script>
  12. <script type="text/javascript">
  13. $(document).ready(function(){
  14. $(".tabs > ul").tabs();
  15. });
  16. </script>
  17. <title>{$title}</title>
  18. </head>
  19. <body>
  20. Zmienna $c wynosi {$c}
  21. </body>
  22. </html>
[PHP] pobierz, plaintext

Pomysly?

Zgodnie z moimi oczekiwaniami winno wyświetlić: "Zmienna $a wynosi: ble"; jednak wywala mi błąd
Parse error: syntax error, unexpected T_STRING in /home/axexis/htdocs/index.php: eval()'d code on line 3

Jakies pomysly jak to ugryzc, ew. jak inaczej to zrobic?
Pozdrawiam
piotrekkr
Tak.

plik cos.inc.php

  1. <body>
  2. Zmienna $a wynosi <?php echo $a ?>
  3. </body>


index.php:

  1. <?php
  2. $a = "ble";
  3. inlude('cos.inc.php');
l0ud
Cytat
Zmienna ble wynosi ble


Nie do końca tak jak chciałeś, jednak u mnie kod działa. Sprawdź może kodowanie w tych plikach?
Axexis
Generalnie rzecz biorąc wolałbym się do include nie uciekać, bo jak można się domyśleć chcę utworzyć mini-klasę szablonów smile.gif
@up:
ASCII obydwa pliki

@edit:

plik index.php
  1. <?php
  2. $a = "ble bla zmiennej a";
  3. $title = "tytul";
  4.  
  5. $plik = file_get_contents('ble.inc.php');
  6. #
  7. eval("\$cos = \"".$plik."\";");
  8. echo $cos;
  9. ?>


Plik ble.php
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  4. <meta http-equiv="content-language" content="pl" />
  5. <meta name="robots" content="noindex,nofollow" />
  6. <link rel="stylesheet" media="screen,projection" type="text/css" href="css/main.css" /> <!-- MAIN STYLE SHEET -->
  7. <script type="text/javascript" src="js/jquery.js"></script>
  8. <script type="text/javascript" src="js/switcher.js"></script>
  9.  
  10. <script type="text/javascript" src="js/toggle.js"></script>
  11. <script type="text/javascript" src="js/ui.core.js"></script>
  12. <script type="text/javascript" src="js/ui.tabs.js"></script>
  13. <script type="text/javascript">
  14. $(document).ready(function(){
  15. $(".tabs > ul").tabs();
  16. });
  17. </script>
  18. <title>{$title}</title>
  19. </head>
  20.  
  21. <body>
  22. Zmienna $c wynosi {$c}
  23. </body>
  24. </html>


Pomysly?
piotrekkr
No jakoś trudno mi się domyśleć że to jakieś szablony mają być smile.gif Generalnie dziwnie jakoś to robisz. Może opisz jakoś działanie tych szablonów to może się trochę rozjaśni koncepcja smile.gif

//edit

OK widze że chcesz zrobić mini SMARTY smile.gif


//edit 2

Ok teraz czemu źle jest używać eval() z html:

w pliku cos.inc.php masz:

Kod
<script type="text/javascript">$(document).ready(function(){$(".tabs > ul").tabs();});</script><title>{$title}</title>


zrób sobie coś takiego:

  1. eval(file_get_contents('cos.inc.php'));
bolverk
Już coś takiego istnieje nazywa się Savant: Savant. Nie wymaga nauki nowego języka znaczników bo szablony są w plikach php .
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.