2014-02-15 135 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_errorserror_reporting开启后,您会收到有关使用未定义变量的警告。开发/测试系统应该首先将这些设置关闭。

你也容易受到SQL injection attacks。享受你的服务器pwn3d。

+0

这样的一个7331答案 – DarkBee

+0

谢谢,但它堆积在登录页面什么都没有发生,即使我的用户名和密码是正确的,请帮助 – user3314254

+1

为什么它应该工作?稍后你有'$ password = sha1($ password)',而没有定义那个变量。正如我暗示的...你真的需要打开display_errors/error_reporting。 –