Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Tworzenie podstron
Forum PHP.pl > Forum > Przedszkole
Mlodycompany
Witam. Chcę zrobić tworzenie podstron. Oto kod:
  1. if(isSet($_POST['nazwa'])){
  2. $strona = "<?php
  3.  
  4. echo('<html>
  5.  
  6. <head>
  7. <title>strona</title>
  8. <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
  9. <link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\">
  10. </head>
  11. <body>
  12. <table width=\"800\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
  13. <tr>
  14. <th background=\"img/logo.gif\" widht=\"800\" height=\"200\" valign=\"bottom\" class=\"logo\"></th>
  15. </tr>
  16. </table>
  17. <table width=\"800\" align=\"center\" bgcolor=\"#DFEECE\" cellpadding=\"0\" cellspacing=\"0\">
  18. <tr>
  19. <th class=\"menu\">');
  20. $open = fopen('menu.txt', 'r');
  21. $tresc = '';
  22. while(!feof($open)){
  23. $str = fgets($open);
  24. $str = str_replace('\n', '', $str);
  25. $menu = explode('-', $str);
  26. echo('<a href=\"'.$menu[1].'\">'.$menu[0].'</a>&nbsp;|&nbsp;');
  27. }
  28. echo('</th>
  29. </tr>
  30. </table>
  31. <table width=\"800\" align=\"center\" bgcolor=\"#DFEECE\" cellpadding=\"0\" cellspacing=\"0\">
  32. <tr>
  33. <th width=\"20%\"></th>
  34. <th width=\"80%\">');
  35.  
  36. echo('</th>
  37. </tr>
  38. </table>
  39. <table width=\"800\" align=\"center\" bgcolor=\"#DFEECE\" cellpadding=\"0\" cellspacing=\"0\">
  40. <tr class=\"bottom\">
  41. <th>Wszystkie Prawa Zastrzeżone &copy; </th>
  42. </tr>
  43. </table>
  44. </body>
  45.  
  46. </html>
  47. ');
  48.  
  49.  
  50. ?>
  51.  
  52. ";
  53. $new = fopen($_POST['link'].'.php', 'w');
  54. $write = fwrite($new, $strona);

Tworząc nową podstronę treśc powinna być taka jak w zmiennej $strona. No wzasadzie jest, ale zmienne które powinny sie pokazać na nowej stronie czyli np. $open pokazuje się Resource id #2. Co zrobić aby ten kod zapisywał się normalnie??
ddiceman
Piszac
  1. <?php
  2. $strona = "...
  3. ?>

powodujesz, ze wszystkie zmienne pomiedzy apostrofami sa interpretowane przez PHP, wobec czego w miejsce ciagu $open wstawiana jest Ci wartosc zmiennej $open. Poniewaz prawdopodobnie nie masz zainicjowanej takiej zmiennej to w jej miejsce zostaje wstawiony pusyt ciag. Sprobuj "escape'owac" znaki dolara wewnatrz cudzyslowow ograniczajacych wartosci zmiennej $strona, np linia 23 wygladalaby tak:
  1. <?php
  2. $open = fopen('menu.txt', 'r');
  3. ?>
MWL
nie używaj tabel!!
Mlodycompany
przecież linia 23 wygląda tak jak ty podałeś. nie kumam. mógłbyś napisać caly ten kod jakby wyglądał albo podać lepsze instrukcje??
ddiceman
przepraszam, zjadlo formatowanie,
linia 23:
  1. \$open = fopen('menu.txt', 'r');
Mlodycompany
thx. działa.
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.