在php中更改语言和获取id问题

在php中更改语言和获取id问题,php,session,categories,Php,Session,Categories,我的问题是当我进入分类或帖子时,它的具体id是“category.php?category=1或post.php?p_id=3”,当我在这个页面上时,我更改了网站语言,URL更改为category.php?lang=en或post.php?lang=lt,因此,我看不到帖子 我能做些什么来防止这种情况 if(isset($_GET['lang']) && !empty($_GET['lang'])){ $_SESSION['lang'] = $_GET['lang'];

我的问题是当我进入分类或帖子时,它的具体id是“category.php?category=1或post.php?p_id=3”,当我在这个页面上时,我更改了网站语言,URL更改为category.php?lang=en或post.php?lang=lt,因此,我看不到帖子

我能做些什么来防止这种情况

if(isset($_GET['lang']) && !empty($_GET['lang'])){

    $_SESSION['lang'] = $_GET['lang'];

    if(isset($_SESSION['lang']) && $_SESSION['lang'] != $_GET['lang']){

        echo "<script type='text/javascript'> location.reload(); </script>";

    }

}

if(isset($_SESSION['lang'])){

    include "includes/languages/".$_SESSION['lang'].".php";

} else {

    include "includes/languages/en.php";

} ?>

<form method="get" action="" id="language_form">
                    <div class="input-group">
                        <select name="lang" class="input-control" onchange="changeLanguage()" >
                            <option value="en" <?php if(isset($_SESSION['lang']) && $_SESSION['lang'] == 'en'){ echo "selected"; } ?>>EN</option>

                            <option value="lt" <?php if(isset($_SESSION['lang']) && $_SESSION['lang'] == 'lt'){ echo "selected"; } ?>>LT</option>
                        </select>
                    </div>
</form>
if(isset($\u GET['lang'])和&!empty($\u GET['lang'])){
$\会话['lang']=$\获取['lang'];
如果(isset($\u会话['lang'])和&$\u会话['lang']!=$\u获取['lang']){
回显“location.reload();”;
}
}
如果(isset($_会话['lang'])){
包括“includes/languages/”$\会话['lang'].“.php”;
}否则{
包括“includes/languages/en.php”;
} ?>
>中尉

您必须在获取请求之前安排好您的url,或者您可以使用post,这样它就不会给您带来问题。

您是否遇到错误?@FunkFortyNiner不只是类别中的帖子,或者直接发布在更改和获取上述url后不可见。