Смена языка на главной странице

Started by ler on 2013-06-27 13:05 — 11 replies, 3917 views

#1
Очень неудобно менять язык в профиле и поэтому пытаюсь сделать это через page_header.tpl
Вот часть кода из page_header.php
Форма отправляется, но почему то в базу запрос не идет....
$user_lang=$userdata['user_lang'];
if (isset($_POST['user_lang'])){
//AND $_GET['mode'] !== 'register' AND $_GET['mode'] !== 'editprofile'
     
        $user_lang=strip_tags(htmlspecialchars(mysql_escape_string($_POST['user_lang'])));
        $user_id=$userdata['user_id'];
        var_dump($user_id);
        var_dump($user_lang);
DB()->sql_query("UPDATE ".BB_USERS." SET user_lang = $user_lang WHERE user_id = $user_id");
        }
 
 
 
$template->assign_vars(array(
'LANGUAGE_SELECT2'    => language_select2($user_lang, 'user_lang'),
    'HAVE_NEW_PM'    => $have_new_pm,
    'HAVE_UNREAD_PM' => $have_unread_pm,
));
#2
Значения var_dump
string(1) "2" string(7) "english"

или

string(1) "2" string(7) "russian"
#3
Вася, язык юзера - это текст. возьми в запросе переменную $user_lang помести в скобки и должно пройти
#4
Все понял Unknown column 'russian' in 'field list'
#5
Все равно не проходит

Spoiler content hidden.
#6
Хотя нет, вру. в базе смотрел. Меняется значение, но только на сайте язык не меняется. Это наверно из-за кэширования
Как очистить кэш шаблона правильно?
#7
Вася, угу. добавь после запроса такую строку:
cache_rm_user_sessions($user_id);
#8
это удали
$db_name = 'имя';
$db_user = 'юзер';
$db_pass = 'пас';
$db_host = 'localhost';
 
mysql_connect($db_host, $db_user, $db_pass) or die("cant connect mysql - ".mysql_error());
mysql_select_db($db_name) or die("cant select db - ".mysql_error());
mysql_query("SET NAMES UTF8");
а mysql_query замени на sql_query
#9
#10
рости широкий)