Система входа в систему: проблемы с запуском сессии

0

У меня есть система входа в систему, которая проверяет правильные данные для входа, как показано ниже:

    <?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

но каждый раз, когда я пытаюсь войти (с правильными данными для входа), он возвращает меня на страницу входа. Пожалуйста, дайте мне знать, что там происходит:

Заранее спасибо.

Теги:

1 ответ

1
Лучший ответ

Вы должны искать в isset больше.

ISSET проверяет переменную, чтобы убедиться, что она была установлена, другими словами, она проверяет, есть ли переменная какое-либо значение, кроме NULL или не присвоенное значение. ISSET возвращает TRUE, если переменная существует и имеет значение, отличное от NULL. Это означает, что переменные, назначенные "", 0, "0" или "ЛОЖЬ", установлены и, следовательно, ИСТИНА для ISSET.

if ( isset($Variable)){
  //this will be true if $Variable will have some value
}else {
//this is false if $Variable will be empty
}

Так что удалите '! " Если, как я сказал в разделе комментариев

Узнать больше о Isset

Ещё вопросы

Сообщество Overcoder
Наверх
Меню