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

L

ler

Гость
Очень неудобно менять язык в профиле и поэтому пытаюсь сделать это через page_header.tpl
Вот часть кода из page_header.php
Форма отправляется, но почему то в базу запрос не идет....
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,
));
 
G

Gemini_13

Гость
Вася, язык юзера - это текст. возьми в запросе переменную $user_lang помести в скобки и должно пройти
 
L

ler

Гость
Все равно не проходит

PHP:
$user_lang=$userdata['user_lang'];
if (isset($_POST['user_lang'])){
//AND $_GET['mode'] !== 'register' AND $_GET['mode'] !== 'editprofile'
 
$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");
 
 
        $user_lang = strip_tags(htmlspecialchars(mysql_escape_string($_POST['user_lang'])));
        $user_id=(int)$userdata['user_id'];
        var_dump($user_id);
        var_dump($user_lang);
mysql_query("UPDATE ".BB_USERS." SET user_lang = '".$user_lang."' WHERE user_id = ".$user_id."") or die(mysql_error());
        }
 
L

ler

Гость
Хотя нет, вру. в базе смотрел. Меняется значение, но только на сайте язык не меняется. Это наверно из-за кэширования
Как очистить кэш шаблона правильно?
 
G

Gemini_13

Гость
Вася, угу. добавь после запроса такую строку:
PHP:
cache_rm_user_sessions($user_id);
 
G

Gemini_13

Гость
это удали
PHP:
$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
 
L

ler

Гость
spasibo25.jpg
 
Сверху