Смяна на езика в страницата чрез сесия.
Публикувана от ko6rata на January 19 2011 10:41:56
Разширена новина
В този урок ще покажа как да направите страницата си на повече от 1 език чрез сесия.
Първо ще създадем файла settings.php, който съдържа всички функции.
Ето и кода на файла settings.php:
------------------------------------------
<?php
// тази функция проверява дали съществува сесията 'lang' и ако съществува според това дали е bg, empty или en да
// инклудва файла за съответния език
function language() {
if(empty($_SESSION['lang']))
{
include('en.php');
}
elseif($_SESSION['lang'] == "en")
{
include('en.php');
}
elseif($_SESSION['lang'] == "bg")
{
include('bg.php');
}
}
// тази функция проверява съдържанието на сесията 'lang' и показва езика в момента и бутон за смяната му
function disp_language() {
if(empty($_SESSION['lang']))
{
echo '<a xhref=index.php?lang=bg>bg</a> en';
}
elseif($_SESSION['lang'] == "en")
{
echo '<a xhref=index.php?lang=bg>bg</a> en';
}
elseif($_SESSION['lang'] == "bg")
{
echo 'bg <a xhref=index.php?lang=en>en</a>';
}
}
// Това е функцията за хедъра на index.php
function disp_header(){
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<? echo CHARSET; ?>">
<title>fgdgfghf</title>
</head>
<body>
<?
}
// Това е функцията за футъра на index.php
function footer() {
echo '
</body>
</html>';
}
?>
---------------------------------------------
След като сме създали файла с функцийте settings.php сега ще създадем файловете с езика, които са en.php и bg.php
Сега ще покажа каква е структурата на файловете. Ще покажа и за двата файла en.php и bg.php.
Ето и файла en.php, където в конструкцията define("HEADER", 'Lesson made for uroci.net'); HEADER e името чрез което ще показвате текста, който сте задали в единичните кавички:
---------------------------------
<?php
define("CHARSET", 'iso-8859-1');
// Tekstovoto suobshtenie
define("HEADER", 'Lesson made for uroci.net');
?>
--------------------------
Ето и кода на файла bg.php:
----------------------------
<?php
define("CHARSET", 'windows-1251');
// Tekstovoto suobshtenie
define("HEADER", 'Урока е направен за uroci.net');
?>
-------------------------------
Остана да създадем файла index.php, на който ще изкараме съобщението HEADER и бутони за смяна на езика. Ето как ще стане това, кода на файла index.php:
--------------------------------------
<?php
session_start();
// Инклудваме файла settings.php, който сме направили с всички функции
include('settings.php');
// Проверяваме дали е натиснато бутончето за смяна на езика или е влузнато за първи път
if(empty($_GET['lang']))
{
}
elseif($_GET['lang'] == "bg")
{
if($_SESSION['lang'] = "en")
{
unset($_SESSION['lang']);
$_SESSION['lang'] = "bg";
}
}
elseif($_GET['lang'] == "en")
{
if($_SESSION['lang'] = "bg")
{
unset($_SESSION['lang']);
$_SESSION['lang'] = "en";
}
}
// Показваме функцията language() от файла settings.php, която провурава сесията 'lang' и инклудва съответния файл
// с езика
language();
// Показваме функцията disp_header() от файла settings.php, която съдържа шапката на index.php
disp_header();
// Показваме функцията disp_language() от файла settings.php, която съдържа бутоните за смяна на езика
disp_language();
// Тук показваме текста от HEADER, който сме задали в файловете за езика
echo '<br><div align="center">';
echo HEADER;
echo '</div>';
// Функцията footer() съдържа футера на файла index.php
footer();
?>
------------------------------