我有这个类(我有另一个问题的相同代码,但那是另一个问题),这工作正常,我创建一个Sesiones对象,然后当我想开始一个新会话时调用IniciarSesion函数,但除非我把session_start ();在我的Sesiones课程之外,会话将不会被维护。我打算在没有设置$ _SESSION的情况下阻止对页面的访问,但如果我将其包含在我的课程会话之外将始终设置,那么什么是我想要的最佳方法?
session_start();//Here it works on all pages but not desired behavior
class Sesiones {
public function IniciarSesion($params, $url = NULL) {
//session_start(); Where it originally was but It doesn't work on other files
//Iterar parametros de array params y setearlo en session
foreach ($params as $param){
$_SESSION[$param["param"]] = $param["val"];
}
//URL para redireccionar
if (isset($url)) {
header("Location: " . $url);
}
}
public function CerrarSesion($url = NULL) {
session_destroy();
exit();
//El parametro URL es para saber a que URL redireccionar
if (isset($url)) {
header("Location: " . $url);
}
}
}
答案 0 :(得分:0)
在向浏览器输出任何内容之前必须调用Session_start()(这是你应该记住的事情)。在您的代码中,我认为无需在类中调用session_start。然而,它无法发挥作用。