Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pomocy - Sesje + PHP, Zmienianie wartości sesji
Master Miko
post 10.02.2005, 23:20:37
Post #1





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


Witam,

Proszę o pomoc w tym skrypcie:

Otóż stworzyłem plik lang.php

  1. <?php
  2.  
  3. if (isset($_SESSION['LANG'])) {
  4. $_SESSION = array();
  5. setcookie (session_name(), '', time()-300, '/', '', 0); // Usunięcie pliku cookie.
  6. }
  7. if (($_GET['set']) == '0') { 
  8. $_SESSION['LANG'] = &#092;"POL\";
  9. } else { 
  10. $_SESSION['LANG'] = &#092;"ENG\";
  11. };
  12. header (&#092;"Location: http://\" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . \"/index.php\");
  13. exit();
  14.  
  15. ?>



Kiedy wpisuję link lang.php?set=0 , chcę aby $_SESSION['LANG'] miała wartośc "POL"
A kiedy wpisuję link lang.php?set=1 , chcę aby $_SESSION['LANG'] miała wartośc "ENG"


Inne Dokumenty (index.php i reszta) mają na początku:


  1. <?php
  2.  
  3. if (!isset($_SESSION['LANG'])) {
  4. $_SESSION['LANG'] = &#092;"POL\";
  5. } 
  6.  
  7. ?>


To na począku dałem, aby domyślnie $_SESSION['LANG'] miała wartośc "POL"

Proszę o pomoc sadsmiley02.gif


--------------------
Go to the top of the page
+Quote Post
Strzyzyk_MC
post 11.02.2005, 00:20:56
Post #2





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 22.08.2003
Skąd: Bydgoszcz

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


W czym problem lezy ?
Go to the top of the page
+Quote Post
Bakus
post 11.02.2005, 01:41:56
Post #3


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


@Strzyzyk_MC: Wydaje mi się, że autor tematu określił w czym jest problem...

Master Miko czy możesz napisać poco na początku pliku znajdują się te polecenia:
  1. <?php
  2. if (isset($_SESSION['LANG'])) {
  3. $_SESSION = array();
  4. setcookie (session_name(), '', time()-300, '/', '', 0); // Usunięcie pliku cookie.
  5. }
  6. ?>

?
Jeżeli usuwasz sesje, to nie ma sensu dalsze sprawdzanie, czy ona cokolwiek zawiera...


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
Master Miko
post 11.02.2005, 08:21:56
Post #4





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


Chciałbym poprostu użyć sesji do określania języka. Jeżeli np. ($_SESSION['LANG']) miałby wartość "POL", to w innych dokumentach przy pomocy tej sesji pojawiałyby się dokumenty w języku polskim czyli coś w tym stylu:

  1. <?php
  2.  
  3. if(($_SESSION['LANG']) == &#092;"POL\") { include(\"includes/pol.inc\"); };
  4. if(($_SESSION['LANG']) == &#092;"ENG\") { include(\"includes/eng.inc\"); };
  5.  
  6. ?>


a kodu, który podałeś Bakus użyłem poto, aby usuwać sesję tylko wtedy kiedy ona istnieje... gdyby nie było sesji to przy jej kasowaniu raczej pojawiłby się błąd... . Znajduje się ten kod w pliku lang.php i uruchamia się tylko wtedy, kiedy chce zmienić język poleceniem lang.php?set=0 lub lang.php?set=1


A kasuje ją poto, aby zrobić nową sesję z innymi paramertami.

Chce poprostu zrobić serwis w 2 językach...
Sesje wydały mi się najlepszym sposobem, ale mogłem się mylić dry.gif



Jeżeli jeszcze macie jakieś pytania, to pytajcie winksmiley.jpg



Ps. Strzyzyk_MC... nie umiem tego LEPIEJ wytłumaczyć dry.gif


Ten post edytował Master Miko 11.02.2005, 08:27:18


--------------------
Go to the top of the page
+Quote Post
Strzyzyk_MC
post 11.02.2005, 10:46:08
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 22.08.2003
Skąd: Bydgoszcz

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


Nie nie sorki, poprostu bylo zbyt pozno i przeczytalem post ale nie temat dry.gif
Go to the top of the page
+Quote Post
Master Miko
post 11.02.2005, 12:34:58
Post #6





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


Już znalazłem odpowiedź na to pytanie cool.gif

Kod powinien być taki (zamiast pliku lang.php wszystko wstawiłem do index.php tongue.gif )


  1. <?php
  2.  
  3. if (isset($_GET['set'])) {
  4. if (isset($_SESSION['LANG'])) {
  5. unset($_SESSION['LANG']);
  6. }
  7.  
  8. if (($_GET['set']) == '0') { 
  9. $_SESSION['LANG'] = &#092;"POL\";
  10. } else { 
  11. $_SESSION['LANG'] = &#092;"ENG\";
  12. };
  13. };
  14.  
  15.  
  16. if (!isset($_SESSION['LANG'])) {
  17. $_SESSION['LANG'] = &#092;"POL\";
  18. } 
  19.  
  20. ?>



Teraz wystarczy wpisać index.php?set=0 dla wartości "POL" lub index.php?set=1 dla wartości "ENG". Zapisuje się to wszystko w sesji smile.gif

Pozwalam na wykorzystywanie powyższego skryptu cool.gif

Ten post edytował Master Miko 11.02.2005, 14:27:56


--------------------
Go to the top of the page
+Quote Post
Lord_Raven
post 11.02.2005, 14:27:01
Post #7





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.02.2005

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


po grzyba mieszac do tego sesje?
przeciez wystarczy zebys przesylal sobie GET'em jakis parametr i w zalezności od niego wyswietlal czy tez includowal odpowiednia zawartosc strony.

jesli juz chcesz mieszac do tego wszystkiego sesje to na moj gust zapomniales o session_start() i po grzyba kasujesz ta sesje? przeciez wystarczy zmienic dana zmienna sesyjna $_SESSION['LANG'] z POL na ENG i na odwrot. po co kasowac sesje i tworzyc ja na nowo?
Go to the top of the page
+Quote Post
Master Miko
post 11.02.2005, 14:29:05
Post #8





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


Cytat(Lord_Raven @ 2005-02-11 13:27:01)
po grzyba mieszac do tego sesje?
przeciez wystarczy zebys przesylal sobie GET'em jakis parametr i w zalezności od niego wyswietlal czy tez includowal odpowiednia zawartosc strony.

jesli juz chcesz mieszac do tego wszystkiego sesje to na moj gust zapomniales o session_start() i po grzyba kasujesz ta sesje? przeciez wystarczy zmienic dana zmienna sesyjna $_SESSION['LANG'] z POL na ENG i na odwrot. po co kasowac sesje i tworzyc ja na nowo?

Bałem się przekłamań i błędów... więc wiesz... po wykasowaniu nie może być żadnego błędu cool.gif


--------------------
Go to the top of the page
+Quote Post
Lord_Raven
post 11.02.2005, 14:31:34
Post #9





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.02.2005

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


Cytat(Master Miko @ 2005-02-11 13:29:05)
Bałem się przekłamań i błędów... więc wiesz... po wykasowaniu nie może być żadnego błędu

IMHO bez sensu. tylko obciazasz niepotrzebnie system
Go to the top of the page
+Quote Post
Master Miko
post 11.02.2005, 14:33:37
Post #10





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


Cytat(Lord_Raven @ 2005-02-11 13:31:34)
Cytat(Master Miko @ 2005-02-11 13:29:05)
Bałem się przekłamań i błędów... więc wiesz... po wykasowaniu nie może być żadnego błędu

IMHO bez sensu. tylko obciazasz niepotrzebnie system

bla bla bla tongue.gif

Dopiro ucze się php od 3 misięcy i wcześniej uczyłem się JavaScriptu... z przyzwyczajenia do JS wolałem nie ryzykować...

Miałeś racje... dałem session_start() tylko w kilku miejscach. Teraz jedno wstawiłem przed wszystkim i działa smile.gif


--------------------
Go to the top of the page
+Quote Post
Lord_Raven
post 11.02.2005, 14:36:32
Post #11





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.02.2005

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


w programowaniu chodzi o to by cos dzialalo w jak najprostszy sposob. Staraj sie wszystko minimalizowac w miare rozsadku cool.gif
Go to the top of the page
+Quote Post
Master Miko
post 11.02.2005, 14:39:45
Post #12





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


Cytat(Lord_Raven @ 2005-02-11 13:36:32)
w programowaniu chodzi o to by cos dzialalo w jak najprostszy sposob. Staraj sie wszystko minimalizowac w miare rozsadku cool.gif

Teraz chce żeby działało tongue.gif

O optymalizacji pomyślę później...

I tak nie tworzę ani dużych systemów, ani wielkich portali więc narazie jest git cool.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 Wersja Lo-Fi Aktualny czas: 5.07.2025 - 11:07