Потребител Парола | Регистрация | Забравена парола
Меню
· Начало
· Файлове
· Форум
· Връзки
· Категории на уроците
· За контакти
· Фото галерия
· Търсене
Кажи на приятел

Вашия email:
email на приятел:
Копие за вас?
Реклама

Смяна на езика в страницата чрез сесия.

PHP & MySQLВ този урок ще покажа как да направите страницата си на повече от 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();
?>

------------------------------
· ko6rata на January 19 2011 10:41:56 · 0 Коментари · 1369 Прочитания · Отпечатай
Коментари
Няма добавени коментари.
Напиши коментар
Моля влезте, за да коментирате.
Оценка
Рейтингите са достъпни само за регистрирани.

Моля влезте или се регистрирайте за да гласувате.

Няма оценки.
Вход
Потребител

Парола



Не сте регистрирани?
Натиснете тук за регистрация.

Забравена парола?
Натиснете тук за нова.
Анкета
С каква операционна система работите











Трябва да влезете за да гласувате.
ЧАТ
Трябва да влезате за да пуснете съобщение.

Няма съобщения.
Статистика