PHP/MySQL | Сессии будь они не ладны
Тема закрыта by
DELETED
Причина: порешали как всегда с Мобиа .45.
Причина: порешали как всегда с Мобиа .45.
![](/views/icon/no_avatar.png)
DELETED
Автор
5 февраля 2017, в 15:17
Delete
session_start();
ob_start();
if (filter_has_var(INPUT_POST, 'lang')) {
$_SESSION['lang'] = $_POST['lang'];
header('location: '.$_SERVER['PHP_SELF']);
exit();
}
<button type="submit" class="btn btn-info btn-sm" name="lang" value="ru">RU</button>
<button type="submit" class="btn btn-info btn-sm" name="lang" value="en">EN</button>
Так вот при нажатии на кнопку значение $_SESSION['lang'] изменяется в зависимости от value кнопки, НО...
не выполняется на страницах сайта такого рода условие
<?=$_SESSION['lang'] == 'en' ? 'текст на английском языке' : 'текст на русском языке'?>
то есть после нажатия кнопки EN дебажу сессию - в сесии значение en, но текст выводит на русском
в чём косяк? .45.
Мы не ванги. Надо весь код видеть
![](/views/icon/no_avatar.png)
DELETED
Автор
5 февраля 2017, в 15:33
Delete
Lyo (05.02.2017 в 15:28)
Мы не ванги. Надо весь код видеть
Мы не ванги. Надо весь код видеть
<?=$_SESSION['lang'] == 'en' ? 'English' : 'Russian'?>
<?php
session_start();
ob_start();
if (filter_has_var(INPUT_POST, 'lang')) {
$_SESSION['lang'] = $_POST['lang'];
header('location: '.$_SERVER['PHP_SELF']);
exit();
}
?>
<form method="post">
<button type="submit" class="btn btn-info btn-sm" name="lang" value="ru">RU</button>
<button type="submit" class="btn btn-info btn-sm" name="lang" value="en">EN</button>
</form>
потому что $_SESSION появляется после session_start
![](/views/icon/no_avatar.png)
DELETED
Автор
5 февраля 2017, в 15:56
Delete
Mobiaaa (05.02.2017 в 15:53)
потому что $_SESSION появляется после session_start
потому что $_SESSION появляется после session_start
то есть обработку наличия значения и вывода текста можно только после старта делать, даже если значение было уже присвоено?
![](/views/icon/no_avatar.png)
DELETED
Автор
5 февраля 2017, в 16:19
Delete
Mobiaaa (05.02.2017 в 15:53)
потому что $_SESSION появляется после session_start
потому что $_SESSION появляется после session_start
Дима, мне нужно обрабатывать текст, который раньше инклуда системника, в котором стартуют сессии, размещён на сайте. Так если при редиректе страницы на саму себя значение сесии нулевое, так может в кукисы писать можно?
То есть смысл - нужно как бы глобально присваивать значение языка.
пишите тогда в куки
![](/views/icon/no_avatar.png)
DELETED
Автор
5 февраля 2017, в 16:34
Delete
Mobiaaa (05.02.2017 в 16:31)
пишите тогда в куки
пишите тогда в куки
Ок, присвоил через куки, всё норм, спасибо.