我有一个博客网站。我可以通过点击网站顶部的标志来更改语言。当我选择英语或西班牙语时,页面会更改为该语言 但是,当我点击任何菜单项时,网站语言将恢复为默认语言,并且不会保留我所点击的语言。
我将我选择的语言值放在Session中,但是当我点击另一个页面时它会失去它的价值。
我可以看到我的session_id()总是在变化。会话总是开始。
这是主页
中的会话测试代码ob_start();
if (session_status() == 1) { //or if(isset($_SESSION)) both of them not work and session_start() command work.
session start();
echo 'started';
}
echo " SESSION ID VALUE: ".session_id()." .Session Status:".session_status();
输出:(您将在网站上看到)
开始SESSION ID VALUE:5d7e8cacfde4bc87f6e55b4fcddd5af7 Session STATUS2 /
我的主人是godaddy。我让他们解决这个问题,但是他们说我开发了这些代码并且他们看起来并没有。我不知道该怎么办?我看到session_path是/ tmp,我写is_writable(ini_set("session_path"))
它是可读写的。
答案 0 :(得分:2)
您应该始终执行session_start()。如果会话已创建,那么它将使用已创建的会话,否则将创建一个新会话。
同样在session_status中,您应该与PHP常量进行比较,而不是硬编码值。
session_status()=== PHP_SESSION_NONE