Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z includowaniem i wersjami jezykowymi
Forum PHP.pl > Forum > PHP
elbereth
otóż tworzę stronke, gdzie poszczegółne działy są includowane do index.php i wszystko jest cacy. problem polega na tym ze stronka ma miec równiez rozne wersje jezykowe. i oba skrypty sobie dzialaja problem w tym ze nie wspolpracuja. tzn gdy jestem w części jezyka pierwotnego (w moim przypadku niemiecki) to linki sie includują tak jak trzeba natomiast gdy klikne na zmiane jezyka na angielski to wskakuje mi rzeczywiscie na stronę po angielsku ale na główną a nie tą na której byłem tylko przetłumaczoną (pierwszy problem), i gdy chce kliknac na jakis link powraca znow na stronę owszem pod tym linkiem ale "nie pamięta" zeby byla przetlumaczona i jest ona w pierwotnym niemieckim jezyku...
mam nadzieje ze ktos to zrozumial ;]
tutaj jest kod jakby coś, w php jestem dosc zielony...

Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">

<? session_start(); ?>

<html>
<head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <title>Friseur Adele</title>
      
<link rel="stylesheet" href="style.css" type="text/css">
      
</head>

<body>

<?
$jezyk = $_GET["jezyk"];

if (isset($jezyk) && file_exists("lang/$jezyk.php")) {
  $_SESSION["jezyk"] = $jezyk;
} else {
  $_SESSION["jezyk"] = isset($_SESSION["jezyk"])?$_SESSION["jezyk"]:"de";  
}
include("lang/{$_SESSION["jezyk"]}.php");
?>

<p>

<div id="exCenter">

    <img id="exHeader" src="http://elbereth.neostrada.pl/braz/logo.jpg" usemap="#lang"/>
    
        <map name="lang">
            <area shape=rect coords="764,24,795,43" href="index.php?jezyk=de">
            <area shape=rect coords="795,24,833,43" href="index.php?jezyk=en">
        </map>  
        

    <div id="exContent">
        <div id="exLeftColumn">

    <img id="topmenu" src="http://100pdh.jdm.pl/friz/braz/manuheader.jpg "/>
    <?= L_menuhead ?>
    <ul>
        <li><a href="index.php?dzial=main"><?= L_menu1 ?></a></li>
        <li><a href="index.php?dzial=news"><?= L_menu2 ?></a></li>
        <li><a href="index.php?dzial=offer"><?= L_menu3 ?></a></li>
        <li><a href="index.php?dzial=gallery"><?= L_menu4 ?></a></li>
        <li><a href="index.php?dzial=about"><?= L_menu5 ?></a></li>
        <li><a href="index.php?dzial=contact"><?= L_menu6 ?></a></li>
        <li><a href="index.php?dzial=open"><?= L_menu7 ?></a></li>
        <li><a href="index.php?dzial=guestbook"><?= L_menu8 ?></a></li>
    </ul>
    <img id="stopkamenu" src="http://100pdh.jdm.pl/friz/braz/stopkamenu.gif "/>

        </div>
            <div id="exRightColumn">                        

        <img src="http://100pdh.jdm.pl/friz/braz/head.jpg"/>
            <div id="text">
            
<?php
if(isset($dzial)){
if(file_exists($dzial.".php")){
$plik = $dzial.".php";
include($plik);
}else{
echo "Error";
}
}else{
include("main.php");
}
?>


            </div>
        <img id="stopka" src="http://100pdh.jdm.pl/friz/braz/stopka.gif"/>  
        </div>
    
    </div>
              
</div>

</p>
</body>
</html>


w plikach main, news itp są odpowiednio odsyłania do definicji w plikach języków de.php i en.php
z góry dzięki!!
dadexix
Kod
$jezyk = $_GET["jezyk"];

if (isset($jezyk) && file_exists("lang/$jezyk.php")) {
  $_SESSION["jezyk"] = $jezyk;
} else {
  $_SESSION["jezyk"] = isset($_SESSION["jezyk"])?$_SESSION["jezyk"]:"de";  
}
pierwszy błąd... isset($jezyk) będzie zawsze dawał true bo $jezyk = $_GET["jezyk"] tutaj przypisaleś jakąś wartość tej zmiennej(inną zmienną ale jest to zawsze wartość)
Kod
if(isset($dzial)){
nie używaj reguster_globals!


Kod
            <area shape=rect coords="764,24,795,43" href="index.php?jezyk=de">
            <area shape=rect coords="795,24,833,43" href="index.php?jezyk=en">
więc czemu się dziwisz że zawsze po zmianie przekieruje do indexu? nie będę się rozpisywać na ten temat bo troche pisalem o tym w tym temacie Temat: php strona wielojezyczna




Po moich zmianach plik wyglądał by tak:


  1. <? session_start(); ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">
  3.  
  4.  
  5.  
  6. <html>
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  9. <title>Friseur Adele</title>
  10.  
  11. <link rel="stylesheet" href="style.css" type="text/css">
  12.  
  13. </head>
  14.  
  15. <body>
  16.  
  17. <?
  18. $jezyk = $_GET["jezyk"];
  19.  
  20. if (isset($_GET['jezyk']) && file_exists("lang/$jezyk.php")) {
  21. $_SESSION["jezyk"] = $jezyk;
  22. } else {
  23. $_SESSION["jezyk"] = isset($_SESSION["jezyk"])?$_SESSION["jezyk"]:"de";
  24. }
  25. include("lang/{$_SESSION["jezyk"]}.php");
  26. ?>
  27.  
  28. <p>
  29.  
  30. <div id="exCenter">
  31.  
  32. <img id="exHeader" src="http://elbereth.neostrada.pl/braz/logo.jpg" usemap="#lang"/>
  33.  
  34. <map name="lang">
  35. <area shape=rect coords="764,24,795,43" href="index.php?jezyk=de">
  36. <area shape=rect coords="795,24,833,43" href="index.php?jezyk=en">
  37. </map>
  38.  
  39.  
  40. <div id="exContent">
  41. <div id="exLeftColumn">
  42.  
  43. <img id="topmenu" src="http://100pdh.jdm.pl/friz/braz/manuheader.jpg "/>
  44. <?= L_menuhead ?>
  45. <ul>
  46. <li><a href="index.php?dzial=main"><?= L_menu1 ?></a></li>
  47. <li><a href="index.php?dzial=news"><?= L_menu2 ?></a></li>
  48. <li><a href="index.php?dzial=offer"><?= L_menu3 ?></a></li>
  49. <li><a href="index.php?dzial=gallery"><?= L_menu4 ?></a></li>
  50. <li><a href="index.php?dzial=about"><?= L_menu5 ?></a></li>
  51. <li><a href="index.php?dzial=contact"><?= L_menu6 ?></a></li>
  52. <li><a href="index.php?dzial=open"><?= L_menu7 ?></a></li>
  53. <li><a href="index.php?dzial=guestbook"><?= L_menu8 ?></a></li>
  54. </ul>
  55. <img id="stopkamenu" src="http://100pdh.jdm.pl/friz/braz/stopkamenu.gif "/>
  56.  
  57. </div>
  58. <div id="exRightColumn">
  59.  
  60. <img src="http://100pdh.jdm.pl/friz/braz/head.jpg"/>
  61. <div id="text">
  62.  
  63. <?php
  64. if(isset($_GET['dzial'])){
  65. if(file_exists($_GET['dzial'].".php")){
  66. $plik = $_GET['dzial'].".php";
  67. include($plik);
  68. }else{
  69. echo "Error";
  70. }
  71. }else{
  72. include("main.php");
  73. }
  74. ?>
  75.  
  76.  
  77. </div>
  78. <img id="stopka" src="http://100pdh.jdm.pl/friz/braz/stopka.gif"/>
  79. </div>
  80.  
  81. </div>
  82.  
  83. </div>
  84.  
  85. </p>
  86. </body>
  87. </html>


tylko zrób jeszcze funkcje która będzie przekierowywać nie do indexu tylko tam gdzie się było... nie chce mi się tego robić... dałem topic gdzie jest prawie całe to
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.