变量$logged在global.php中定义,未由index.php获取
我试图在youtube香奈儿网站上跟随教程 当我遇到一些问题时。第一个是他在教程#5中的注销代码,由于更改了变量$logged在global.php中定义,未由index.php获取,php,mysql,logged,Php,Mysql,Logged,我试图在youtube香奈儿网站上跟随教程 当我遇到一些问题时。第一个是他在教程#5中的注销代码,由于更改了 if(session_is_registered() 我想我已经正确地用 if( isset($_SESSION[$username])){ 但是现在我得到一个错误,上面写着“注意:未定义的变量:登录到C:\xampp\htdocs\membership\index.php的第2行” 当我检查索引的第2行时,它显示我首先包括global.php <
if(session_is_registered()
我想我已经正确地用
if( isset($_SESSION[$username])){
但是现在我得到一个错误,上面写着“注意:未定义的变量:登录到C:\xampp\htdocs\membership\index.php的第2行”
当我检查索引的第2行时,它显示我首先包括global.php
<?php include_once('scripts/global.php');
if($logged==1){
header("Location:home.php");
exit();
}
?>
然后我检查global.php,它有$logged=1,所以应该定义它……除非我遗漏了什么。我真的想在这里学到更多,所以如果能帮助我解释什么是错的,为什么是错的,我将不胜感激。。。。多谢各位
<?php
session_start();
include_once('scripts/connect.php');
//checking if the sessions are set
if(isset($_SESSION['username'])){
$session_username=$_SESSION['username'];
$session_pass=$_SESSION['pass'];
$session_id=$_SESSION['id'];
//checking the member data
$query=mysql_query("SELECT * FROM members WHERE
id='id' AND password='pass' LIMIT 1")or die("Could not check member");
$count_count=mysql_num_rows($query);
if(count_count>0){
//logged in stuff here
$logged=1;
}else{
header('Location:logout.php');
exit();
}
}elseif(isset($_COOKIE['id_cookie'])){
$session_id=$_COOKIE['id_cookie'];
$session_pass=$_COOKIE['pass_cookie'];
//checking the member data
$query=mysql_query("SELECT * FROM members WHERE
id='$session_id' AND password='$session_pass' LIMIT 1")or die("Could not check member");
$count_count=mysql_num_rows($query);
if(count_count>0){
while($row=mysql_fetch_array($query)){
$session_username=$row['username'];
}
//create sessions
$_SESSION['username']=$session_username;
$_SESSION['id']=$session_id;
$_SESSION['pass']=$session_pass;
//logged in stuff here
$logged=1;
}else{
header('Location:logout.php');
exit();
}
}
?>
$logged是在一个条件中设置的,因此回溯到了解您可能不会遇到随机重定向(让我想起了过去疯狂的“goto”日子),并最终导致$logged未设置。或者在包含的脚本开头初始化$logged。将logged
存储在like$\u SESSION['logged']=1代码>-然后您将能够从任何地方访问它(前提是您在其他页面上检查会话)-还了解php中的错误报告-实际上,当您使用include
而不是include_once
时会发生什么。没有任何变化。因此通过设置$logged=0;一开始global.php会解决这个问题吗?这似乎奏效了。非常感谢。