У меня есть следующий код
index.php:
if(isset($_GET['lang']))
$translate = new Translator($_GET['lang']);
else
$translate = new Translator('en');
когда пользователь делает запрос get, как это
index.php?lang=ru
я хочу, чтобы сервер запомнил его запрос в следующий раз и перенаправил его с index.php
в index.php?lang=ru
<?php
/*
* first get lang from url and set cookie
*/
if (isset ( $_GET ['lang'] )) {
$lang = $_GET ['lang'];
setcookie ( 'lang', "$lang", time () + 3600 );
}
/*
* second if lang is not set in url then read it from cookie
*/
else if (isset ( $_COOKIE ['lang'] )) {
header ( "location:redirect.php?lang=" . $_COOKIE ['lang'] );
}
/*
* if cookie or url is not set then take default lang value 'en'
*/
else {
$lang = 'en';
header ( "location:redirect.php?lang=" . $lang );
}
?>
Использование:
if(isset($_GET['lang']))
{
setcookie("lang", $_GET['lang'], time()+60*60*24*30);
$lang=$_GET['lang'];
}
elseif (isset($_COOKIE['lang']))
{
$lang=$_COOKIE['lang'];
}
else
{
$lang="en";
}
$translate = new Translator($lang);