Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] ustawienie cookie bez przeładowania strony
chrupka
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 11.01.2007

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


Witam, mam pewien problem. Chciałam zrobić wersję językową do swojego serwisu i zrobić to tak, aby użytkownik wchodząc po raz pierwszy na moją stronę miał ustawiony język polski poprzez cookie. Zmiana języka odbywała by się poprzez zmienną $_GET['l'] po kliknięciu flagi z językiem

  1. <?php
  2. if(!isset($_COOKIE['lang'])){
  3. setcookie('lang','pl');
  4. }
  5. $l = $_GET['l'];
  6. if($l!='pl' && $l!='eng' && $l!='rus')unset($l);
  7. if($l){
  8. setcookie('lang',$l);
  9. }
  10. include_once "model/conn_".$_COOKIE['lang'].".php";
  11. ?>


Problem polega na tym, że cookie jest widoczne dopiero po przeładowaniu strony - gdy otwieram ją po raz pierwszy przeglądarka nie widzi cookie (które powinno się ustawić na początku) i wyskakuje błąd że nie ma pliku "conn_.php".
Jak to zrobić żeby cookie ustawiało się i było widoczne przy pierwszym wejsciu na stronę, tak żeby dołączał się prawidłowy plik, tzn. conn_pl.php?
Z góry dziękuje za pomoc:)

Ten post edytował chrupka 26.09.2007, 10:44:23
Go to the top of the page
+Quote Post
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. <?php
  2. !isset($_COOKIE[lang]) ? $lang='ang' : $lang = $_COOKIE[lang];
  3. include($lang.'.php');
  4. ?>
Go to the top of the page
+Quote Post
qqrq
post
Post #3





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

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


Z ciasteczkami tak już jest, że się ustawiają dopiero po przeładowaniu strony i nic na to nie poradzisz. Proponuję zainteresować się sesjami - to na pewno rozwiąże twój problem.
Go to the top of the page
+Quote Post
chrupka
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 11.01.2007

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


dzięki za podpowiedź(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
myślałam, że jest może jakaś droga żeby to obejść, zwłaszcza że potrzebuje zmiany języków w aplikacji cakephp i chyba jednak skorzystam z sesji..(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
-Duszek-
post
Post #5





Goście







Na końcu po prostu zrob tak zamiast

  1. <?php
  2. include_once "model/conn_".$_COOKIE['lang'].".php";
  3. ?>


napisz:

  1. <?php
  2. if(!isset($_COOKIE['lang'])){
  3. include_once "model/conn_pl.php";
  4. }
  5. else {
  6. include_once "model/conn_".$_COOKIE['lang'].".php";
  7. }
  8. ?>


I po kłopocie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 14.10.2025 - 00:49