Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [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
 
Start new topic
Odpowiedzi (1 - 4)
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. ?>


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
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ź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..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 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: 21.08.2025 - 14:46