Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zmiana języków
dk1342
post
Post #1





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


Witam mam pytanie jak zrobić taki wybór języka jak na tej stronie:

http://og-servers.net/index.html

czyli są 3 flagi i jak się klikne na np. angielska to jest taki link:

http://og-servers.net/index.php?modul=language&lang=en

na chwile a potem znów zmienia się na index.php i jest po angielsku

próbowalem robić tak:


<?php
if ($_GET[lang] == "eng") {
echo " tu tekst języka angielskiego ";
}
else if ($_GET[lang] == "de") {
echo "tu niemieckiego";
}
else {
echo "tu po polsku";
}
?>

ale ten sposób jakoś mi się nie spodobał bo chce miec tak jak wyzej napisalem ze jak się kliknie w np.:

<a href="http://www.costam.pl/index.php?modul=language&lang=en"><img src="flagade.jpg"></a>

to wybierze mi język i odswierzy się do adresu index.php ale juz z tym wybranym językiem

nie wiem czy dobrze opisałem bo nie wiem jak to opisać

dodam że jestem troche zielony a jest mi to potrzebne

Ten post edytował dk1342 7.10.2008, 18:37:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
drPayton
post
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


  1. <?php
  2. $avaiable_langs = array('pl','en');    //tabela z dostepnymi jezykami
  3. $lang = substr($_GET['lang'],0,2)    //wycinasz dwie pierwsze literki ze zmiennej lang, to na wypadek, gdyby ktos probowal Ci cos tam przeslac getem
  4. if (in_array($avaiable_langs, $lang) {      // w tym warunku inkludujesz wybrany jezyk
  5.   include_once($lang.'_lang.php');
  6. } else {
  7.  include_once('pl_lang.php');
  8. ?>


Z sesją:

  1. <?php
  2. session_start(); // Startujesz sesję, na początku pliku, zanim coś wyślesz do przeglądarki
  3. $avaiable_langs = array('pl','en');    //tabela z dostepnymi jezykami
  4. // Najpierw sprawdzasz, czy istnieje zmienna określająca język w sesji
  5. if(isset($_SESSION['lang']) AND in_array($avaiable_langs, $_SESSION['lang'])) {
  6.    include_once($lang.'_lang.php');
  7. }
  8. // Jeśli nei istnieje, to może akurat ktoś w link (flagę) kliknął - ustawiamy więc język w sesji i przekierowujemy na stronę główną
  9. else if(isset($_GET['lang']) AND  in_array($avaiable_langs, $_GET['lang'])) {
  10.    $_SESSION['lang'] = $_GET['lang'];
  11.    header("Location: index.php");
  12. }
  13. // A jeśli sesja pusta i w GETie nic nie ma ładujemy do sesji domyślny język i przekierowujemy na stronę główną
  14. else {
  15.    $_SESSION['lang'] = 'pl'; // Ustawiasz domyślny język systemu
  16.    header("Location: index.php");
  17. }
  18. ?>


Nie najpiękniejsza, ale prosta i czytelna metoda (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował drPayton 8.10.2008, 13:57:45
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 21:09