2014-02-15 5 views
-3

Я пытаюсь создать систему входа в систему с уровнем доступа, но я всегда предлагаю вам код, который вам нужен, введите пароль. пожалуйста, помогите мне, где я ошибаюсь.Ошибка входа в систему пользователя

session_start(); 

if(isset($_REQUEST['submit'])) { 
    $username=$_POST['username']; 
    $mypassword=$_POST['password']; 
    if($username){ 
     if($password){ 
     require('conn/iclude.php'); 
     $password=sha1($password); 
     $query=mysql_query("SELECT * FROM admin where name='$username'"); 
     $numrow=mysql_num_rows($query); 
      if($numrow==1){ 
       $row=mysql_fetch_assoc($query); 
       $dbid=$row['id']; 
       $dbuser=$row['name']; 
       $dbpass=$row['pass']; 
       $role=$row['role']; 
       if($password==$dbpass) { 
        $_SESSION['username']=$dbuser; 
        $_SESSION['useridid']=$dbid; 
        if($role == 1){ 
        header('Location:admin.php'); 
        }elseif ($role==2) { 
        header('Location:1/neasp.php'); 
        }elseif ($role==3) { 
        header('Location:2/index.php'); 
        }elseif ($role==4) { 
        header('Location:3/index.php'); 
        }elseif ($role==5) { 
        header('Location:4/index.php'); 
        } 
       }else{} 
      }else{ 
       echo"Hello World"; 
       } 
     }else{echo "You must enter your password";} 

    }else {echo "You must enter your name";} 
} 

благодаря ниже HTML форма

ответ

3
$mypassword=$_POST['password']; 
    ^^^^^^^^^^^ **MY** password 

    if($password){ 
     ^^----no **MY** 

Если ваша система была настроена для отладки, например, display_errors и error_reporting, вы получили предупреждения об использовании неопределенных переменных. Система разработки/тестирования должна * НИКОГДА не имеет этих настроек в первую очередь.

Вы также уязвимы для SQL injection attacks. Наслаждайтесь наличием вашего сервера pwn3d.

+0

Ответ на такой вопрос 7331 – DarkBee

+0

Спасибо, но его сложены на странице входа, ничего не происходит, даже мой пользователь и пароль верны, пожалуйста, помогите – user3314254

+1

Зачем это нужно? Позже у вас есть '$ password = sha1 ($ password)', не имея ОПРЕДЕЛЕННОЙ этой переменной. Как я намекнул ... вам действительно нужно включить display_errors/error_reporting. –

Смежные вопросы