php switch get III.

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

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét