我的代码有效。如果添加的值不存在,它会更改lang值。但是,它需要刷新才能进行更改。
if(isset($_GET['lang']) && file_exists('lang/'. $_SESSION['lang'] . '.php')) {
$_SESSION['lang'] = $_GET['lang'];
} else {
$_SESSION['lang'] = 'en'; // default value
}
if(!isset($_SESSION['lang'])) {
$_SESSION['lang'] = 'en'; // default value
}
include('lang/'. $_SESSION['lang'] . '.php');
使用上面的代码,它确实将lang更改回en,如果其他lang不存在但是,它显示错误文件不存在,那么刷新页面工作正常后。 有没有办法在将lang设置回en?
后立即重定向或刷新页面答案 0 :(得分:0)
您的逻辑可能会出错。
if(isset($_GET['lang']) && file_exists('lang/'. $_GET['lang'] . '.php'))
您发布的第一个if语句会检查SESSION [' lang']文件是否存在。它似乎应该检查GET [' lang']文件是否存在。
您可以使用标题功能移动页面。
header("Location: http://yoursite.com/yourpage.php");
您还可以限制错误报告,以便它不会显示文件不存在的错误。
error_reporting(0);