Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Śmieci w sesji, błąd validatora
Strus
post
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Bochnia

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


Witam!

Mam problem z małym skryptem, który ma za zadanie przy użyciu sesji pamiętać wybrany język na stronie.
Wszystko dziła OK, tylko(!) w adresie URL pojawiają się straszne śmieci co powoduje błąd validatora:
Kod
general entity "PHPSESSID" not defined and no default entity

<a href="index.php?go=0&PHPSESSID=f9342a239dbc88c939f707cd8bef3428">


Jak zapobiec powstawaniu takich śmieci ?

Mój skrypt php
  1. <?php
  2.  
  3. $jezyk = $_GET[&#092;"jezyk\"];
  4.  
  5. if (isset($jezyk))
  6. {
  7. $_SESSION[&#092;"jezyk\"] = $jezyk;
  8. }
  9. else
  10. {
  11. $_SESSION[&#092;"jezyk\"] = isset($_SESSION[\"jezyk\"])?$_SESSION[\"jezyk\"]:\"en\";
  12. }
  13.  
  14. //Wybór podstrony
  15. <a href=&#092;"index.php?go=0\">strona1</a><br />
  16. <a href=&#092;"index.php?go=1\">strona2</a>
  17.  
  18. //Wybór wersji językowej 
  19. <a href=&#092;"index.php?jezyk=pl\">polski</a><br />
  20. <a href=&#092;"index.php?jezyk=en\">angielski</a>
  21.  
  22. switch ($_GET[&#092;"go\"])
  23.  {
  24. case 0:
  25. default:
  26. include(&#092;"lang/strona1{$_SESSION[\"jezyk\"]}.php\");  
  27. break;
  28. case 1:
  29. include(&#092;"lang/strona2{$_SESSION[\"jezyk\"]}.php\");
  30. break;
  31. }
  32. ?>


Pliki w katalogu lang/ nazywają się strona1en.php, strona1pl.php i strona2en.php, strona2pl.php
Tylko że zamiast pl lub en w nazwę pliku wstawia on też te śmieci co powoduje że kod się nie validuje.

Jak to naprawić ? smile.gif


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


W php.ini dodaj separator danych '&amp;' zamiast '&' (arg_separator.output).

Zeby wyswietlic ampersand (&) musisz go zapisac jako '&amp;'


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
stoprocent
post
Post #3





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 17.05.2003
Skąd: Kraków , Londyn

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


Było to ze 100 razy na forum.

  1. <?php
  2. ini_set( &#092;"arg_separator.output\", \"&amp;\" ); 
  3. ?>


--------------------
Go to the top of the page
+Quote Post
Strus
post
Post #4





Grupa: Zarejestrowani
Postów: 184
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Bochnia

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


THX zadziałało!, nawiasem mówiąc doszukałem się tego przed chwilą w manualu php.

Mam nowy problem smile.gif Wszystko mi działa OK na lokalu, ale po wrzuceniu na serwer nie pamięta sesji wybranego języka, przełączy na inny al w momencie kliknięcia na dowolny link przełącza z powrotem na defaultowy. Moja wersja php to 4.3.9 (moduł Apache'a) a wersja php na serwerze to 4.3.10.

Co jest źle w moim skrypcie, że nie działa z nowszą wersją php ?

EDIT:

Już sobie poradziłem smile.gif
Wystarczyło zastąpić
  1. <?php
  2. $_SESSION[&#092;"jezyk\"]
  3. ?>
przez
  1. <?php
  2. $_SESSION[&#092;"cos_innego_niz_jezyk\"]
  3. ?>
i teraz działa z nowszą werjsją php.

Ten post edytował Strus 26.01.2005, 20:01:31


--------------------
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: 20.08.2025 - 04:41