Я пытаюсь настроить, как я думал, простой переключатель языка. Я думал, что буду использовать файлы cookie PHP, но они работают не так, как задумано.
Я прочитал несколько руководств по файлам cookie и просмотрел несколько подобных примеров здесь, в StackOverflow, но мне, должно быть, чего-то не хватает, потому что он не может заставить его работать должным образом.
Я устанавливаю язык, передавая его как переменную URL (lang = en или lang = ru). Кажется, все в порядке. Однако код, который у меня есть на данный момент, который устанавливает файл cookie, кажется, на один шаг отстает, поэтому изначально он не имеет значения (я бы хотел, чтобы он был по умолчанию 'en'), а затем, если пользователь нажимает 'ENG' она по-прежнему не имеет значения, а затем, если пользователь нажимает на русский язык, значение отображается как «en», а затем, если я снова нажимаю кнопку «ENG», значение отображается как «ru».
Вот код, который я сколотил:
if( $_GET['lang'] ) {
$lang = (string)$_GET['lang'];
setcookie( 'lang', $lang, time() + 60*60*24*30 );
} elseif( !isset($_COOKIE['lang']) ) {
$lang = 'en';
} else {
$lang = $_COOKIE['lang'];
}
Как только я получу эту работу, я собираюсь использовать значение cookie для отображения либо английского, либо русского меню, используя немного условного PHP.
Спасибо.