Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> $HTTP_COOKIE_VARS, unserialize i object-owka, hmm
pirat
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.05.2003
Skąd: Katowice

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


To skrypt z ksiazki:
  1. <?php 
  2. // Ta strona wykorzystuje mechanizm szeregowania obiektów.
  3.  
  4. require_once &#092;"HtmlTemplate2.class\"; // Włączenie klasy.
  5. require_once &#092;"HtmlNavTemplate.class\"; // Włączenie klasy.
  6.  
  7. if ($HTTP_COOKIE_VARS['html_object']) {
  8.  
  9.     $page = unserialize (urldecode ($HTTP_COOKIE_VARS['html_object']));
  10.         
  11.     $page->CreatePage();
  12.        
  13. } elseif ($HTTP_POST_VARS['submit']) {
  14.  
  15.     $page = new HtmlNavTemplate (&#092;"template4.inc\"); // Utworzenie egzemplarza klasy i wskazanie szablonu, który będzie używany przez t
  16.  aplikację.
  17.  
  18.     $page->SetParameter (&#092;"PAGE_TITLE\", $page_title); // Ustawienie tytułu strony.
  19.     $page->SetParameter (&#092;"CSS_LINK\", \"style.css\"); // Ustawienie arkusza stylów.
  20.     $page->SetParameter (&#092;"BG_COLOR\", $bg_color); // Ustawienie koloru tła.
  21.     $page->SetParameter (&#092;"TEXT_COLOR\", $text_color); // Ustawienie koloru tekstu.
  22.     $page->SetParameter (&#092;"TABLE_WIDTH\", $table_width); // Ustawienie szerokości tabeli.
  23.     $page->SetParameter (&#092;"NAVIGATION_LINKS\", $page->DetermineLinks());
  24.     $page->SetParameter (&#092;"PAGE_CONTENT\", \"Oto nasza strona.\"); // Ustawienie głównej zawartości.
  25.     setcookie (&#092;"html_object\", urlencode (serialize($page)), time() + 100000, \"\", \"\", 0);
  26.     $page->CreatePage();
  27.         
  28. } else {
  29.  
  30.     $page = new HtmlNavTemplate (&#092;"template4.inc\"); // Utworzenie egzemplarza klasy i wskazanie szablonu, który będzie używany przez t
  31.  aplikację.
  32.  
  33.     $page->SetParameter (&#092;"PAGE_TITLE\", \"Ustaw swoje preferencje!\"); // Ustawienie tytułu strony.
  34.     $page->SetParameter (&#092;"CSS_LINK\", \"style.css\"); // Ustawienie arkusza stylów.
  35.     $page->SetParameter (&#092;"BG_COLOR\", \"WHITE\"); // Ustawienie koloru tła.
  36.     $page->SetParameter (&#092;"TEXT_COLOR\", \"BLACK\"); // Ustawienie koloru tekstu.
  37.     $page->SetParameter (&#092;"TABLE_WIDTH\", \"100\"); // Ustawienie szerokości tabeli.
  38.     $page->SetParameter (&#092;"NAVIGATION_LINKS\", $page->DetermineLinks());
  39.  
  40.     $content = '<form action=\"index.php\" method=post>
  41.     <table border=0 width=\"90%\" cellspacing=\"2\" cellpadding=\"2\" align=\"center\">
  42.         <tr align=\"center\" valign=\"top\">
  43.             <td colspan=\"2\" align=\"center\" valign=\"top\">Ustaw swoje preferencje układu strony HTML</td>
  44.         </tr>
  45.         <tr align=\"center\" valign=\"top\">
  46.             <td width=\"50%\" align=\"right\" valign=\"top\">Tytuł strony:</td>
  47.             <td width=\"50%\" align=\"left\" valign=\"top\"><input type=\"text\" name=\"page_title\" size=\"20\" maxsize=\"50\"></td>
  48.         </tr>
  49.         <tr align=\"center\" valign=\"top\">
  50.             <td width=\"50%\" align=\"right\" valign=\"top\">Kolor tła:</td>
  51.             <td width=\"50%\" align=\"left\" valign=\"top\">
  52.                 <select name=\"bg_color\">
  53.                 <option value=\"white\">BIAŁY</option>
  54.                 <option value=\"black\">CZARNY</option>
  55.                 <option value=\"blue\">NIEBIESKI</option>
  56.                 <option value=\"red\">CZERWONY</option>
  57.                 <option value=\"green\">ZIELONY</option>
  58.                 </select></td>
  59.         </tr>
  60.         <tr align=\"center\" valign=\"top\">
  61.             <td width=\"50%\" align=\"right\" valign=\"top\">Kolor tekstu:</td>
  62.             <td width=\"50%\" align=\"left\" valign=\"top\">
  63.                 <select name=\"text_color\">
  64.                 <option value=\"white\">BIAŁY</option>
  65.                 <option value=\"black\">CZARNY</option>
  66.                 <option value=\"blue\">NIEBIESKI</option>
  67.                 <option value=\"red\">CZERWONY</option>
  68.                 <option value=\"green\">ZIELONY</option>
  69.                 </select></td>
  70.         </tr>
  71.         <tr align=\"center\" valign=\"top\">
  72.             <td width=\"50%\" align=\"right\" valign=\"top\">Szerokość tabeli (0-100):</td>
  73.             <td width=\"50%\" align=\"left\" valign=\"top\"><input type=\"text\" name=\"table_width\" size=\"3\" maxsize=\"3\"></td>
  74.         </tr>
  75.         <tr align=\"center\" valign=\"top\">
  76.             <td colspan=\"2\" align=\"center\" valign=\"top\"><input type=\"submit\" name=\"submit\" value=\"Ustaw preferencje\"></td>
  77.         </tr>
  78.     </table>
  79.     </form>';
  80.  
  81.     $page->SetParameter (&#092;"PAGE_CONTENT\", $content); // Ustawienie zawartości.
  82.         
  83.     $page->CreatePage(); // Wysłanie strony do przeglądarki.
  84.         
  85. }
  86.  
  87. unset($page);
  88.  
  89.  
  90. ?>


działa wszystko w instrukcji else i elseif.... wsyztsko gra, ale.... gdy juz mam niby stworzony ten caly object i chce zeby zapamietal to co z formularza....czyli wykonal zaraz to co jest po if to mi mówi
Kod
Fatal error: Call to a member function on a non-object in index.php on line 11


Nie wiem w czym tkwi błąd.... czy to cos nie tak z tym serialize i unserialize?...

Ten post edytował pirat 26.09.2004, 10:51:46


--------------------
Zdrowy rozsądek to rzecz, której każdy potrzebuje, mało, kto posiada, a nikt nie wie, że mu brakuje.

Czasami myślę, iż Bóg tworząc człowieka przecenił nieco swoje zdolności.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Vertical
post
Post #2





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Jak linia 11, skoro w tym kodzie 11 jest pusta? napisz linie od 7-15 identycznie jak było w książce...
Go to the top of the page
+Quote Post
pirat
post
Post #3





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.05.2003
Skąd: Katowice

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


ludzie prosze SKUPCIE sie... co moze byc zle? sad.gif

Edit: juz poprawione to u gory rolleyes.gif

Ten post edytował pirat 29.09.2004, 19:23:48


--------------------
Zdrowy rozsądek to rzecz, której każdy potrzebuje, mało, kto posiada, a nikt nie wie, że mu brakuje.

Czasami myślę, iż Bóg tworząc człowieka przecenił nieco swoje zdolności.
Go to the top of the page
+Quote Post
Vertical
post
Post #4





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Niezdefiniowana lub źle zdefiniowana funkcja CreatePage(), albo jeszcze jest jedna możliwość, że powinno być:
  1. <?php
  2. if (isset($HTTP_COOKIE_VARS['html_object'])) {
  3. $page = unserialize (urldecode ($HTTP_COOKIE_VARS['html_object']));
  4. $page->CreatePage();
  5. ?>

Albo jeśli to by nie zadziałało, zamiast $HTTP_COOKIE_VARS['html_object'] dać zwykłe $_COOKIE['html_object']. Mam nadzieję, że któryś z tych przykładów zadziała smile.gif
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 Aktualny czas: 19.08.2025 - 06:32