Установить куки для перенаправления на тот же URL-адрес клика в следующий раз

У меня есть следующий код

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

0

Решение

<?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 );
}

?>
0

Другие решения

Использование:

 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);
0

По вопросам рекламы [email protected]