Спустя 1 час, 24 минуты, 9 секунд (16.04.2011 - 09:18) neadekvat написал(а):
Примерный алгоритм:
1. Создаем каталог lang, в нем записываем файлы ru.php, en.php и сколько еще хочешь. В них составляем словарь слов, которые есть на сайте и вывод которых надо менять в зависимости от языка.
Желательно (а точнее - обязательно), чтобы в файлах была абсолютно одинаковая структура, до строчки. Единственное различие - значения переменных.
Файл может выглядеть например так:
Если таких слов много, то лучше сделать многомерный массив:
2. На сайте вывешиваем ссылки на возможные языки. Дальше код, надеюсь, поймете сами, о чем там речь. Если не поймете - значит, вы еще не ходили в документацию. Сходите и поймите.
3. Собственно, все. Теперь в шаблонах вместо "Логин" надо написать:
4. Писал сейчас, "на коленке" можно сказать. Не используйте этот код ни в коем случаи - хрен знает, какие дырки я с утра то пропустил. Вы же хотели принцип :rolleyes:
1. Создаем каталог lang, в нем записываем файлы ru.php, en.php и сколько еще хочешь. В них составляем словарь слов, которые есть на сайте и вывод которых надо менять в зависимости от языка.
Желательно (а точнее - обязательно), чтобы в файлах была абсолютно одинаковая структура, до строчки. Единственное различие - значения переменных.
Файл может выглядеть например так:
$lng = array(
'auth' => 'Авторизация',
'login' => 'Логин',
'password' => 'Пароль',
);
Если таких слов много, то лучше сделать многомерный массив:
$lng = array(
'auth' => array(
'form_title' => 'Авторизация',
'login' => 'Логин',
'password' => 'Пароль',
),
'footer' => array(
'contacts' => 'Контакты',
'copyright' => 'Я жлоб',
),
);
2. На сайте вывешиваем ссылки на возможные языки. Дальше код, надеюсь, поймете сами, о чем там речь. Если не поймете - значит, вы еще не ходили в документацию. Сходите и поймите.
/*
В начале главного файла (если одна точка входа) добавляем этот код.
*/
$lng_array = array('ru', 'en'); // Список доступных языков
if (isset($_GET['lng']) && in_array($_GET['lng'], $lng_array)) {
setcookie('lng', $_GET['lng'], time() + 3600 * 24 * 30, '/');
$lng_file = $_GET['lng'];
} elseif (isset($_COOKIE['lng']) && in_array($_COOKIE['lng'], $lng_array))
$lng_file = $_GET['lng'];
else
$lng_file = 'ru'; // Язык по умолчаннию.
include $_SERVER['DOCUMENT_ROOT'] ."lang/$lng_file.php";
3. Собственно, все. Теперь в шаблонах вместо "Логин" надо написать:
echo $lng['auth']['login'];
4. Писал сейчас, "на коленке" можно сказать. Не используйте этот код ни в коем случаи - хрен знает, какие дырки я с утра то пропустил. Вы же хотели принцип :rolleyes:
Спустя 1 час, 16 минут, 44 секунды (16.04.2011 - 10:35) Trianon написал(а):
else
$lng_file = 'ru'; // Язык по умолчаннию.
выбор языка по умолчанию лучше базировать на данных поля ACCEPT_LANGUAGE заголовка запроса.
Спустя 48 минут, 50 секунд (16.04.2011 - 11:24) neadekvat написал(а):
Цитата (Trianon @ 16.04.2011 - 11:35) |
выбор языка по умолчанию лучше базировать на данных поля ACCEPT_LANGUAGE заголовка запроса. |
Согласен. Но это уже пусть реализует ТС
Спустя 2 часа, 3 минуты, 57 секунд (16.04.2011 - 13:28) Guest написал(а):
neadekvat
Цитата |
Но это уже пусть реализует ТС |
ТС эт кто?
Спустя 24 минуты, 24 секунды (16.04.2011 - 13:52) Эли4ка написал(а):
спасибо..а можно вас попросить об одной услуге?давайте я вам код исходника дам а вы мне вставите?а то я чет немного запуталась?
Спустя 6 минут, 56 секунд (16.04.2011 - 13:59) neadekvat написал(а):
Цитата (Guest @ 16.04.2011 - 14:28) |
ТС эт кто? |
Топик Стартер. Автор темы.
Цитата (Эли4ка @ 16.04.2011 - 14:52) |
а то я чет немного запуталась? |
А чего там путаться? В начало файла. Если занимаетесь программированием - поймете. Если не занимаетесь, то я буду считать, что писал пост выше для тех, кто занимается.
Спустя 7 минут, 7 секунд (16.04.2011 - 14:06) Эли4ка написал(а):
<?php-скрипт реги и куда тут ставить помоги прошу..
// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!!
session_start();
include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
if (isset($_COOKIE['auto']) and isset($_COOKIE['login']) and isset($_COOKIE['password']))
{//если есть необходимые переменные
if ($_COOKIE['auto'] == 'yes') { // если пользователь желает входить автоматически, то запускаем сессии
$_SESSION['password']=strrev(md5($_COOKIE['password']))."b3p6f"; //в куках пароль был не зашифрованный, а в сессиях обычно храним зашифрованный
$_SESSION['login']=$_COOKIE['login'];//сессия с логином
$_SESSION['id']=$_COOKIE['id'];//идентификатор пользователя
}
}
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
//если существет логин и пароль в сессиях, то проверяем их и извлекаем аватар
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result = mysql_query("SELECT id,avatar FROM users WHERE login='$login' AND password='$password' AND activation='1'",$db);
$myrow = mysql_fetch_array($result);
//извлекаем нужные данные о пользователе
}
?>
<html>
<head>
<title>Главная страница</title>
</head>
<body>
<h2>Главная страница</h2>
<?php
if (!isset($myrow['avatar']) or $myrow['avatar']=='') {
//проверяем, не извлечены ли данные пользователя из базы. Если нет, то он не вошел, либо пароль в сессии неверный. Выводим окно для входа. Но мы не будем его выводить для вошедших, им оно уже не нужно.
print <<<HERE
<form action="testreg.php" method="post">
<!-- testreg.php - это адрес обработчика. То есть, после нажатия на кнопку "Войти", данные из полей отправятся на страничку testreg.php методом "post" -->
<p>
<label>Ваш логин:<br></label>
<input name="login" type="text" size="15" maxlength="15"
HERE;
if (isset($_COOKIE['login'])) //есть ли переменная с логином в COOKIE. Должна быть, если пользователь при предыдущем входе нажал на чекбокс "Запомнить меня"
{
//если да, то вставляем в форму ее значение. При этом пользователю отображается, что его логин уже вписан в нужную графу
echo ' value="'.$_COOKIE['login'].'">';
}
print <<<HERE
</p>
<!-- В текстовое поле (name="login" type="text") пользователь вводит свой логин -->
<p>
<label>Ваш пароль:<br></label>
<input name="password" type="password" size="15" maxlength="15"
HERE;
if (isset($_COOKIE['password']))//есть ли переменная с паролем в в COOKIE. Должна быть, если пользователь при предыдущем входе нажал на чекбокс "Запомнить меня"
{
//если да, то вставляем в форму ее значение. При этом пользователю отображается, что его пароль уже вписан в нужную графу
echo ' value="'.$_COOKIE['password'].'">';
}
print <<<HERE
</p>
<!-- В поле для паролей (name="password" type="password") пользователь вводит свой пароль -->
<p>
<input name="save" type="checkbox" value='1'> Запомнить меня.
</p>
<p>
<input name="autovhod" type="checkbox" value='1'> Автоматический вход.
</p>
<p>
<input type="submit" name="submit" value="Войти">
<!-- Кнопочка (type="submit") отправляет данные на страничку testreg.php -->
<br>
<!-- ссылка на регистрацию, ведь как-то же должны гости туда попадать -->
<a href="reg.php">Зарегистрироваться</a>
<br>
<!-- ссылка на восстановление пароля -->
<a href="send_pass.php">Забыли пароль?</a>
</p></form>
<br>
Вы вошли на сайт, как гость<br><a href='#'>Эта ссылка доступна только зарегистрированным пользователям</a>
HERE;
}
else
{
//при удачном входе пользователю выдается все, что расположено ниже между звездочками.
//************************************************************************************
print <<<HERE
|<a href='page.php?id=$_SESSION[id]'>Моя страница</a>|<a href='index.php'>Главная страница</a>|<a href='all_users.php'>Список пользователей</a>|<a href='exit.php'>Выход</a><br><br>
<!-- Между оператором "print <<<HERE" выводится html код с нужными переменными из php -->
Вы вошли на сайт, как $_SESSION[login]<br>
<!-- выше ссылка на выход из аккаунта -->
<a href='http://tvpavlovsk.sk6.ru/'>Эта ссылка доступна только зарегистрированным пользователям</a><br>
Ваш аватар:<br>
<img alt='$_SESSION[login]' src='$myrow[avatar]'>
<!-- Выше отображается аватар. Его адрес содержит переменная $myrow[avatar] -->
<!-- Именно здесь можно добавлять формы для отправки комментариев и прочего... -->
HERE;
//************************************************************************************
//при удачном входе пользователю выдается все, что расположено ВЫШЕ между звездочками.
}
?>
</body>
</html>
Спустя 10 минут, 7 секунд (16.04.2011 - 14:16) Игорь_Vasinsky написал(а):
Во-первых, весь текст выводимый для пользователей нужно писать переменными, которые заранее определены в языковых файлах (ru.php и en.php, допустим)
Потом сделать либо select, либо иконки флажков, при клике определяется языковой файл который будет подключаться, ну и определиться с языком по default-у, скажем ru.
Потом сделать либо select, либо иконки флажков, при клике определяется языковой файл который будет подключаться, ну и определиться с языком по default-у, скажем ru.
Спустя 5 минут, 18 секунд (16.04.2011 - 14:22) Эли4ка написал(а):
Игорь_Vasinsky
прошу помоги..я скрипт ведь вывалила а?
прошу помоги..я скрипт ведь вывалила а?
Спустя 18 минут, 12 секунд (16.04.2011 - 14:40) Игорь_Vasinsky написал(а):
ВОт все так... сами учиться не хотят (всё для них рассжовано), зато все хатят : интернет - магазины, онлайн игры, социальные сети и чтоб деньги с нх ручьем....
Для начала:
Я про консультирую как необходимо сделать на примере этой страницы (Регистрация).
Использовать будем самый приметивный вариант.
Далее всё самостоятельно.
Если всё устраивает, то:
1. создать каталог language (к примеру
2. создать 2 файла: ru.php и en.php
3. На странице регистрации есть текст (который выводится пользователям), например название полей формы и т.д.
- не обходимо:
3.1. Создать определить переменные (сначала для русского языка, например)
3.2. Открыть файл language/ru.php
3.3. Определить все слова и фразы со страницы регистрации
По примеру формы:
$you_login = "Ваш логин";
$you_password = "Вш пароль";
$save_me = "запомнить меня";
и в этом духе заполнить весь ru.php - фразами и словами, которые встречаются на странице регистрации.
ОК?
Для начала:
Я про консультирую как необходимо сделать на примере этой страницы (Регистрация).
Использовать будем самый приметивный вариант.
Далее всё самостоятельно.
Если всё устраивает, то:
1. создать каталог language (к примеру
2. создать 2 файла: ru.php и en.php
3. На странице регистрации есть текст (который выводится пользователям), например название полей формы и т.д.
- не обходимо:
3.1. Создать определить переменные (сначала для русского языка, например)
3.2. Открыть файл language/ru.php
3.3. Определить все слова и фразы со страницы регистрации
По примеру формы:
$you_login = "Ваш логин";
$you_password = "Вш пароль";
$save_me = "запомнить меня";
и в этом духе заполнить весь ru.php - фразами и словами, которые встречаются на странице регистрации.
ОК?
Спустя 33 минуты, 38 секунд (16.04.2011 - 15:13) Игорь_Vasinsky написал(а):
Принято как отказ.
Спустя 11 часов, 40 минут, 41 секунда (17.04.2011 - 02:54) Эли4ка написал(а):
Игорь_Vasinsky,я не хочу чтобы деньги были ручьем мне просто помощь нужна,потому что я все сделала как ты сказал а у мя не работает..я тебе и код выложила ну подправь ты его ведь тебе это не сложно?
Спустя 8 часов, 40 минут, 47 секунд (17.04.2011 - 11:35) Dr.Mars написал(а):
помогу стучи в лс о цене договоримся
Спустя 6 минут, 23 секунды (17.04.2011 - 11:41) Эли4ка написал(а):
давай ты мне7