A cikk előzményeként olvasd el ezt a 2 leírást (php switch get I. és php switch get II.). A fórumon felvetődött a kérdés: hogy lehetne megoldani a nyelvválasztást az előzőekben már ismertett módszer segítségével? A TLoF-tól kapott válaszból született az alábbi olvasmány. :) (Harder)
Könyvtárszerkezet
-index.php (Flash, meg nyelvválasztás) -index2.php (Amiben a switch/GET kód van) -error.php (Egy file amiben van egy szép hibaüzenet) -HU - cegunkrol.php - termekeink.php -EN - cegunkrol.php - termekeink.php Na igy néz ki mondjuk a könyvtárszerkezeted. Igy átlátható, és tudod, hogy mi hol van. Az index.php-be igy rakod be a nyelvválasztást: index2.php?lang=HU és index2.php?lang=EN pl.:
<a href="index2.php?lang=HU">Magyar</a>
A látogató klikkel és megérkezik az index2.php-ra, de most már tudjuk, hogy milyen nyelvet akar használni. Az index2.php elő sorai:
<?php
session_start();
if (isset($_GET['lang']) and is_dir('./'. $_GET['lang']) and $_GET['lang'] != '.' and $_GET['lang'] != '..')
{
$_SESSION['lang'] = $_GET['lang']
}
if ($_SESSION['lang'] == '' or !isset($_SESSION['lang']));
{
$_SESSION['lang'] == 'HU';
}
/*
Ide jön a tetszőleges HTML kód, amit meg akarsz minden lapon jeleníteni.
*/
$_GET['id'] = str_replace('../', '',$_GET['id'] );
if (isset($_GET['id']) and $_GET['id'] != '')
{
if (is_file($_SESSION['lang'].'/'. $_GET['id'] . '.php'))
{
include($_SESSION['lang'] .'/'. $_GET['id'] . '.php');
}
else
{
include('error.php');
}
}
else
{
include($_SESSION['lang'] . '/kezdolap.php');
}
?>
Ahhoz, hogy a nyelvvel együtt a menü is változzon, még egy plusz részre szükség van:
if is_file('./menu/' . $_SESSION['lang'] . '_menu.php')
{
include ('./menu/' . $_SESSION['lang'] . '_menu.php');
}
else
{
include ('./menu/default_menu.php');
}
Szerző: TLoF (kepregeny.net
Harder
Profil