我有一个登录系统,它会检查正确的登录详细信息,如下所示:
<?php
@session_start();
require_once "connection.php";
$Username=$_POST['uname'];
$Password=$_POST['pass'];
$encrypt_password=md5($Password);
//echo $encrypt_password;
$Username=stripslashes($Username);
$Password=stripslashes($Password);
$Username = mysql_real_escape_string($Username);
$Password = mysql_real_escape_string($Password);
$sql="SELECT * FROM loginlist WHERE username='$Username' and password='$encrypt_password'";
$query=mysql_query($sql) or die(mysql_error());
$Count=mysql_num_rows($query);
if($Count == 1)
{
session_register(myusername);
session_register(mypassword);
$_SESSION['uname']=$Username;
$_SESSION['pass']=$Password;
header("location:controlpanel.php");
}
else
{
echo 'wrong user name or password';
}
?>
如果登录详细信息正确,它将转移到controlpanel.php,我在controlpanel.php的开头有以下代码
@session_start();
if(!isset($_SESSION['uname']))
echo"<script>window.location='thisisthesystem.php';</script>";
else
但每次我尝试登录(使用正确的登录详细信息)时,它都会将我返回登录页面。请让我知道那里出了什么问题:
提前致谢。
答案 0 :(得分:1)
您应该在isset上查找。
ISSET检查变量是否已设置,换句话说,它检查变量是否为除NULL以外的任何值或未赋值。如果变量存在且ISCS不是NULL,则ISSET返回TRUE。这意味着变量分配了一个&#34; &#34;,0,&#34; 0&#34;或FALSE已设置,因此对于ISSET为TRUE。
if ( isset($Variable)){
//this will be true if $Variable will have some value
}else {
//this is false if $Variable will be empty
}
删除&#39; ! &#39; 从我在评论部分中说过