Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Strona dwujęzyczna, Proszę o poradę i ew. pomoc
andrzejlechniak
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Mam problem, a właściwie zapytanie. Chcę zrobić wersję angielskojęzyczną strony polskiej. Jak to zrobić, abym nie musiał pisać plików dwa razy (lub więcej, jakbym chciał robić jeszcze jakieś inne wersje stron, np. francuską)?

Mam taki szkielet. Wyświetla sekcję <body>:
  1. <body>
  2. <div id="menu">
  3. <a href="index.php?id=home">Home</a>
  4. <a href="index.php?id=newsy">Newsy</a>
  5. <a href="index.php?id=kontakt">Kontakt</a>
  6. </div>
  7. <div id="strona">
  8. <?php
  9. /////Funkcja wyświetlania strony głównej
  10. function home ()
  11. {
  12. echo 'Strona główna';
  13. echo '<a href=""> ENG</a> | ';
  14. echo '<a href="">PL</a>';
  15. }
  16.  
  17. ///////Wyświetlanie newsów
  18. function newsy()
  19. {
  20. echo 'Strona z newsami';
  21. }
  22.  
  23. ///////Wyświetlanie kontakt
  24. function kontakt()
  25. {
  26. echo 'Strona kontaktowa';
  27. }
  28.  
  29. ////////////Wywoływanie funkcji zmieniającej strony
  30. if($_REQUEST['id'] == 'home'){
  31. home();
  32. }else if($_REQUEST['id'] == 'newsy'){
  33. newsy();
  34. }else if($_REQUEST['id'] == 'kontakt'){
  35. kontakt();
  36. }else{
  37. home();
  38. }
  39. ?>
  40. </div>
  41. <div id="stopka">
  42. Designed by xxxx
  43. </div>
  44. </body>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
elldiablo
post
Post #2





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 30.05.2009

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


  1. #
  2. function home ()
  3. {
  4. echo 'Strona główna';
  5. echo '<a href="index.php?lang=en"> ENG</a> | ';
  6. echo '<a href="index.php?lang=pl">PL</a>';
  7. }


Zmienną możesz zapisać do $_SESSION['lang'] = $_RQUEST['lang'];

A potem:
if(isset($_SESSION['lang'] == 'pl')) {
include ('polski.php')
elseif ($_SESSION['lang'] == 'en') {
include ('angielski.php')
}

Ja bym to tak zrobił
Go to the top of the page
+Quote Post
andrzejlechniak
post
Post #3





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Twój sposób nawet mi się podoba, ale musiałem lekko zmodyfikować go, mam tak:
  1. #
  2. function home ()
  3. {
  4. echo 'Strona główna';
  5. echo '<a href="index.php?lang=en"> ENG</a> | ';
  6. echo '<a href="index.php?lang=pl">PL</a>';
  7.  
  8. if(isset($_SESSION['lang'] == 'pl'))
  9. {
  10. include ('polski.php');
  11. }
  12. elseif ($_SESSION['lang'] == 'en')
  13. {
  14. include ('english.php');
  15. }
  16.  
  17. }


i wyświetla mi błąd, gdzieś tu jest błąd składniowy, ale nie wiem gdzie, takie coś mi się wyświetla:

Parse error: syntax error, unexpected T_IS_EQUAL, expecting ',' or ')' in C:\xampp\xampp\htdocs\xampp\testowa\index.php on line 24

linia 24 to
  1. if(isset($_SESSION['lang'] == 'pl'))
Go to the top of the page
+Quote Post
gigzorr
post
Post #4





Grupa: Zarejestrowani
Postów: 652
Pomógł: 47
Dołączył: 6.02.2010
Skąd: Radom

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


  1. function home ()
  2. {
  3. echo 'Strona główna';
  4. echo '<a href="index.php?lang=en"> ENG</a> | ';
  5. echo '<a href="index.php?lang=pl">PL</a>';
  6.  
  7. if (isset($_SESSION['lang']) == 'pl')
  8. {
  9. include ('polski.php');
  10. }
  11.  
  12. elseif ($_SESSION['lang'] == 'en')
  13. {
  14. include ('english.php');
  15. }
  16.  
  17. }
Go to the top of the page
+Quote Post
andrzejlechniak
post
Post #5





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Niby ok. Mam te dwa pliki, includowanie 'niby' działa, ale nic się nie wyświetla, znaczy się tak jakby te pliki się nie wczytywały.
Go to the top of the page
+Quote Post
elldiablo
post
Post #6





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 30.05.2009

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


A uruchomiłeś sesje?

session_start(); na początku każdej podstrony.

index.php itd.
Go to the top of the page
+Quote Post
andrzejlechniak
post
Post #7





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Uruchomiłem, ale efekt wciąż taki sam... (IMG:style_emoticons/default/sadsmiley02.gif)
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #8





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


A co masz w tych includowanych plikach?
Go to the top of the page
+Quote Post
andrzejlechniak
post
Post #9





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Pliki, które inkluduję to, a zresztą podaję:

Plik 'polski.php':
  1. <?php
  2.  
  3. echo 'tekst polski';
  4.  
  5. ?>


Plik 'english.php':
  1. <?php
  2.  
  3. echo 'english';
  4.  
  5. ?>


Napisałem na razie jako test... Ale nie wyświetla tych echowanych napisów. Czemu, nie wiem?

Ten post edytował andrzejlechniak 8.01.2011, 13:43:56
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #10





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


Pokaz teraz caly kod jak to polaczyles wszystko bo pewnie cos pomieszales
Go to the top of the page
+Quote Post
andrzejlechniak
post
Post #11





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Ojojoj. Coś pewnie nakopałem. Podaję zatem całość:

Plik 'index.php' - cały:
  1. <?php
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  4. <head>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <meta name="keyword" content="Strona" />
  7. <link type="text/css" rel="stylesheet" href="style/style.css" />
  8. <title>Tytuł strony</title>
  9. </head>
  10. <body>
  11. <div id="menu">
  12. <a href="index.php?id=home">Home</a>
  13. <a href="index.php?id=newsy">Newsy</a>
  14. <a href="index.php?id=kontakt">Kontakt</a>
  15. </div>
  16. <div id="strona">
  17. <?php
  18. /////Funkcja wyświetlania strony głównej
  19. function home ()
  20. {
  21. echo 'Strona główna';
  22. echo '<a href="index.php?lang=en"> ENG</a> | ';
  23. echo '<a href="index.php?lang=pl">PL</a>';
  24.  
  25. if (isset($_SESSION['lang']) == 'pl')
  26. {
  27. require_once ('polski.php');
  28. }
  29.  
  30. elseif ($_SESSION['lang'] == 'en')
  31. {
  32. require_once ('english.php');
  33. }
  34.  
  35. }
  36.  
  37. ///////Wyświetlanie newsów
  38. function newsy()
  39. {
  40. echo 'Strona z newsami';
  41. }
  42.  
  43. ///////Wyświetlanie kontakt
  44. function kontakt()
  45. {
  46. echo 'Strona kontaktowa';
  47. }
  48.  
  49. ////////////Wywoływanie funkcji zmieniającej strony
  50. if($_REQUEST['id'] == 'home'){
  51. home();
  52. }else if($_REQUEST['id'] == 'newsy'){
  53. newsy();
  54. }else if($_REQUEST['id'] == 'kontakt'){
  55. kontakt();
  56. }else{
  57. home();
  58. }
  59. ?>
  60. </div>
  61. <div id="stopka">
  62. Designed by xxxx
  63. </div>
  64. </body></html>


Plik 'polski.php':
  1. <?php
  2.  
  3. echo 'tekst polski';
  4.  
  5. ?>
  6.  
  7. Plik 'english.php':
  8. [php]
  9. <?php
  10.  
  11. echo 'english';
  12.  
  13. ?>

[/php]
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #12





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


Dodaj jeszcze
  1. if($_
  2. REQUEST['lang'] == 'pl')
itp
Go to the top of the page
+Quote Post
andrzejlechniak
post
Post #13





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


No dobra, jakoś sobie poradziłem, dzięki wszystkim, którzy brali udział w pomocy mi. (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #14





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


Nie ma za co, jestes winny kazdemu 83,00 pln + vat
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: 22.08.2025 - 23:06