[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подключаем язык к движку
ak167
Пишу свой движок. Имеется папка "lang" а в ней еще одна папка "ru", в которой имеется файлы с названиями, соответствующие названиям каждой странице в моей CMS. Папример, если страница называется index.php, то в в папке "ru" имеется файл с таким же названием "index.php" а в нём массив:

$lang=array
(
'charset' => 'windows-1251',
'db_connect_ok' => 'Соединение с БД установленно!',
'db_connect_err' => 'Ошибка базы данных!',
'db_update_ok' => 'Данные обновлены!'
);


При попадании на сайт, юзеру присваивается язык по-умолчанию, который записан в БД в таблице "conf_global" в ячейке "lang". Сейчас в ней записано "ru". Именно это значение (ru) берется из базы и передается в $_SESSION['lang'], чтобы каждый раз при обновлении странице не залезать в базу.

Язык подключается с момощью функции include так:
include 'lang/'.$_SESSION['lang'].'/index.php';


Однако, есть проблема: БУКВЫ СТАНОВЯТЬСЯ СЛИШКОМ БОЛЬШИМИ!!!
Раньше в include просто писал "lang/ru/index.php" и все было ок, размер шрифта был такой, который установлен в style.css а теперь, когда вместо "ru" стоит $_SESSION['lang'] со значением "ru", то include подключается нужный язык, но вот никак не могу понять почему буквы вдруг стали такими большими. Может вы знаете?

И еще наверху возникают две ошибки:

Warning: include(lang/Array/index.php) [function.include]: failed to open stream: No such file or directory in /home/www/htdocs/mysite.ru/index.php on line 23

Warning: include() [function.include]: Failed opening 'lang/Array/index.php' for inclusion (include_path='.:/usr/share/php') in /home/www/htdocs/mysite.ru/index.php on line 23

Судя по ошибкам складывается впечатление, что include не работает, но она на самом деле все подключает. В чём дело?)))
Raito-kun
проверьте что находится в $_SESSION['lang'] в момент подключения. так

echo $_SESSION['lang'];
include 'lang/'.$_SESSION['lang'].'/index.php';

судя по ошибкам там не то что надо)

и попутно попробуйте require)
ak167
Raito-kun, сначала там находилось "ru", но стоит лишь обновить страницу, как вместо "ru" появлялось "array". Очевидно, значение для сессии присваивалось дважды, хотя скрипт я после этого проверил, такого не могло произойти.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.