本问题已经有最佳答案,请猛点这里访问。
浏览了我认为相关的所有其他PHP Session页面,但找不到我页面上的问题。 以下是我的3页代码:
Login.htm(有效)
Login to Web App
Remember me on this computer
Forgot your password? Click here to reset it.
View Article
Download
© 20122013 Thibaut Courouble -
MIT License
Original PSD by Orman Clark
checklogin.php(此方法有效,会话已成功创建,您可以在代码中查看我的测试以确保会话已实际设置)
session_start();
$con=mysqli_connect("someServer","root","somePassword","someDatabase");
// Check connection
if (mysqli_connect_errno()) {
echo"Failed to connect to MySQL:" . mysqli_connect_error();
}
//Get the two variables for login and password from the form on login.htm
$user = $_POST['login'];
$password = $_POST['password'];
//Write out your MySql Query
$result = mysqli_query($con,"SELECT * FROM members where username = '$user' and password = '$password'");
//Get the row number your query sends out. This is to make sure the username / password combo actually exist
$num_row = mysqli_num_rows($result);
if ( $num_row == 1 )
{
while($row = mysqli_fetch_array($result)) {
//Get the data from MySQL
echo $row['username'] ."" . $row['password'];
//Set whatever is in username to the variable $user1
$user1 = $row['username'];
echo"";
echo $user1;
echo"";
//Start Sessions
//set the session username5 to whatever was in the SQL table for user
$_Session['username5'] = $user1;
//Read off the session stored variable
echo $_Session['username5'];
}
} else {
echo 'That shit didnt work';
}
// rest of page . .
if ($_Session['username5']) {
header( 'Location: https://localhost/avesi/login_success.php' ) ;
}else{
echo"Login Failed!";
}
mysqli_close($con);
?>
Login_success.php(这是我收到错误的地方-注意:未定义的变量:_Session在C: xampp htdocs avesi login_success.php中的第10行)
session_start();
echo time();
if (!empty($_SESSION['username5'])) {
echo"Not empty";
}else{
echo"Empty";
}
echo $_Session['username5'];
?>
在checklogin.php上,它在回显中返回$ _Session ['username5']的用户名,因此我知道已设置了会话。
在Login_success上,我从回显中获取"空",并从回显$ _Session ['username5']中获取错误; 喜欢它不再设置。
两个页面都引用了session_start(),所以我不确定是什么问题。 我对PHP很陌生,因此不胜感激!
PHP变量区分大小写。 $_SESSION[username5]。
PHP是区分大小写的,一种快速修复将使所有会话实例都变为CAPS。
像这样$ _SESSION ['username5'];
就是这样...我什至没有想到要检查是否区分大小写...我猜也很习惯Windows。 谢谢!