【发布时间】:2015-04-19 04:44:04
【问题描述】:
我的页面上有一个登录功能,它的工作原理如下:
function entrarSistema($email,$senha){
if(isset($email) and (autentica($email,$senha)!=false)){
$mysqli = connect_db();
$result = mysqli_query($mysqli,"SELECT ID FROM px_user WHERE email = '$email'");
$id = mysqli_fetch_array($result);
$_SESSION['nome'] = autentica($email,$senha);
$_SESSION['email'] = $email;
$_SESSION['password'] = $senha;
$_SESSION['ID'] = $id[0];
$_SESSION['logado'] = true;
}
else{
if(check_double($email)==1){
setCodeAlerta(1);
echo $_SESSION['status'];
}
else {
setCodeAlerta(2);
}
}
}
这个函数工作正常,当我调用函数 setCodeAlerta() 时设置了 Session 变量,我声明的 Session 变量不起作用。请注意,这 2 个函数在同一个文件中,这是函数:
function setCodeAlerta($numeroCodigo){
$_SESSION['status'] = $numeroCodigo;
}
我的 index.php 包含所有页面,我使用 url_rewrite 添加我需要的代码,并在其最顶部:
if( !isset($_SESSION) ){ session_start(); }
奇怪的是,如果我用这段代码直接调用一个名为 test.php 的文件:
<?php
setCodeAlerta(2);
?>
变量设置好,一切正常。
提前致谢。
【问题讨论】: