Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá.
Estou usando um cookie para gravar o idioma escolhido pelo visitante do meu site, mas o problema é que após o usuário escolher um idioma e recarregar a página, o cookie EN é substituído pelo PT. Como fazer para o cookie não sobrescrever?
A parte que grava tá assim
if (!isset($_GET['lang'])) {
//se ?lang=en não for definido, cria padrão PT
setcookie('lang', 'pt', time()+108000, '/');
} else {
//se ?lang=en estiver definido usa o valor
$lang = $_GET['lang'];
setcookie('lang', $lang, time()+108000, '/');
}switch ($_COOKIE['lang'])
{
case 'pt':
require("portugues.php");
break;
case 'en':
require("ingles.php");
break;
default:
require("portugues.php");
}Sim, preciso que o cookie gravado não seja sobrescrevido quando o script ser executado
Isso porque você está verificando apenas o valor GET.
O certo seria:
Isso eu sei. Mas como faço isso? :(
Pelo que você postou no primeiro post, subentende-se que você saiba pelo menos o básico da programação.
Você sabe IF/ELSE e você sabe isset(). Basta usar esse esquema lógica acima e portar ele dentro de IF's aninhados.
;)
Sim, sei mais q o básico de PHP, mas não consegui :(
Não é legal te dar o peixe assado, é preferível te ensinar a pescar.
Você disse que tentou, certo? Como tentou? Posta o que fez e vamos te ajudando a compreender a lógica. Assim, no futuro, você saberá fazer sozinho e, de quebra, poderá até acabar ajudando outra pessoa que também poderá estar começando.
;)
Assim que o usuário entra no site esses dois código são executados?