我的登录工作正常,因为它将我重定向到index.php 但是在我点击登录按钮后,它转到了index.php,并且会话没有登录。它应该声明" Hello $ username",但它仍然声明" ;再次登录"而不是退出。
index.php代码:
<?php
session_start();
if( !empty($_SESSION) && isset($_SESSION['username'])){
echo 'Olá ' . $_SESSION['username'];
echo '<a href="logout.php"><br/>Logout</a>';
}
else{
echo '<a href="login.php" class="hiper">Fazer Login</a>';
echo '<a href="criarconta.php" class="hiper"><br/>Criar Conta</a><br/>';
}
?>
login.php代码:
<?php
if(!empty($_POST)){
$username=$_POST['username'];
$password=$_POST['password'];
require_once 'Validate.php';
$flag_error = false;
$errors = array ('username' => array (false,'username incorrecto.'),'password' => array (false,'Password tem de conter pelo menos 8 caracteres.'));
/*if(!checkusername($username)){
$errors['username'][0] = true;
$flag_error=true;
}
if(!Valid_Pass($password)){
$errors['password'][0]=true;
$flag_error=true;
}*/
if(!$flag_error){
require_once 'ligacao.php';
$query = "SELECT * FROM utilizadores` WHERE 'username' = '$username' AND 'password' = '$password'";
$verificar=mysql_query($query) or die (mysql_error());
if (mysql_num_rows($verificar)==true){
$_SESSION['username'] = $username;
header('Location: index.php');
}else{
echo '<font color="red"> Esta conta não existe. </font></a>';
}
}
}
?>
我知道登录有效,因为它重定向到&#34;标题(&#39;位置:index.php&#39;);&#34;,但会话保持登录状态。它可能是什么?
答案 0 :(得分:3)
您需要在使用该会话的每个页面上使用session_start()
,因此请将其添加到login.php的顶部。
答案 1 :(得分:0)
session_start();
这会启动会话,您应该在每个需要用户登录访问它的文件中使用它。
$_SESSION['color']='red';
$_SESSION['size']='small';
$_SESSION['shape']='round';
这会在会话中设置变量
session_unset();
删除所有会话变量
session_destroy();
销毁会话