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