单击两次以获取语言



当我单击"阿拉伯语"按钮时,页面文本语言不起作用,但是如果我重新加载同一页面,它会起作用并更改为阿拉伯语.
我的conflang.php

<?php
$allowed_lang = array('en', 'ar');
if(isset($_GET['lang']) === true && in_array($_GET['lang'], $allowed_lang) === true){
setcookie('lang', $_GET['lang'], time() + 31556926, "/", null, null, true);
}else if(isset($_COOKIE['lang']) === false){
setcookie('lang', 'en', time() + 31556926, "/", null, null, true);  
}
if(isset($_COOKIE['lang'])){
include 'lang/' . $_COOKIE['lang'] . '.php';
}else{
include 'lang/en.php';
}
?>

和我的index.php

<?php  if (isset($_COOKIE['lang']) && $_COOKIE['lang'] === 'en') : ?>
<a href="?lang=ar">Arabic</a>
<?php endif ?>
<?php  if (isset($_COOKIE['lang']) && $_COOKIE['lang'] === 'ar') : ?>
<a href="?lang=en">English</a>
<?php endif ?>
<?php  if (!isset($_COOKIE['lang'])) : ?>
<a href="?lang=en">English</a>
<?php endif ?>

来自 setcookie 的文档

设置 Cookie 后,可以使用 $_COOKIE 数组在下一页加载时访问它们。

最新更新