Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] "Szablony"
Axexis
post 17.12.2009, 18:07:35
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 14
Dołączył: 13.01.2008
Skąd: Birmingham

Ostrzeżenie: (0%)
-----


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

Ten post edytował Axexis 17.12.2009, 18:29:16


--------------------
  1. root@php.pl:~# rm -fr /


be. confused
Go to the top of the page
+Quote Post
piotrekkr
post 17.12.2009, 18:19:20
Post #2





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

Ostrzeżenie: (0%)
-----


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');
Go to the top of the page
+Quote Post
l0ud
post 17.12.2009, 18:19:30
Post #3





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


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?


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Axexis
post 17.12.2009, 18:21:50
Post #4





Grupa: Zarejestrowani
Postów: 98
Pomógł: 14
Dołączył: 13.01.2008
Skąd: Birmingham

Ostrzeżenie: (0%)
-----


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?

Ten post edytował Axexis 17.12.2009, 18:27:57


--------------------
  1. root@php.pl:~# rm -fr /


be. confused
Go to the top of the page
+Quote Post
piotrekkr
post 17.12.2009, 18:33:12
Post #5





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

Ostrzeżenie: (0%)
-----


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'));


Ten post edytował piotrekkr 17.12.2009, 18:41:23
Go to the top of the page
+Quote Post
bolverk
post 17.12.2009, 18:41:25
Post #6





Grupa: Zarejestrowani
Postów: 57
Pomógł: 6
Dołączył: 10.08.2009
Skąd: Nowe Miasto Lubawskie

Ostrzeżenie: (0%)
-----


Już coś takiego istnieje nazywa się Savant: Savant. Nie wymaga nauki nowego języka znaczników bo szablony są w plikach php .


--------------------
Użytkownicy jak życie, wszystkim mogą cię zaskoczyć.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2025 - 08:45