2014-06-11 58 views
-1

我想創建一個具有權限1和2的登錄系統。准許1進入索引,並且准許2進入索引2.但它不能登錄,有什麼問題?
這裏是數據庫和logincheck.php顯示給你。如何解決兩種不同權限的登錄權限?

數據庫:

create database babytradeapps; 

use babytradeapps; 

create table loginacc (Bid int AUTO_INCREMENT,    
        LoginID char (20), 
        Password char(30), 
             Permission INT NOT NULL, 
        PRIMARY KEY (Bid), 
             UNIQUE(LoginID) 
        ) ; 
insert into loginacc values('','baby','123456','1'); 
insert into loginacc values('','admin','admin','1'); 
insert into loginacc values('','example','example1','2'); 
insert into loginacc values('','example2','example2','2'); 

checklogin.php

<?php 

     $name = $_GET['username']; 
     $pass = $_GET['pass']; 

     $con = mysql_connect("localhost","root","password"); 

     mysql_select_db("babytradeapps"); 

     $sql = "Select * from loginacc 
      where LoginID = '$name' 
      and Password = '$pass'"; 

    $returns = mysql_query($sql,$con); 

     $num = mysql_num_rows($returns); 

     $row = mysql_fetch_row($returns); 

     $permission = $row["permission"] ; 


    if ($num !=0) { 


    session_start(); 

     $_SESSION['login'] = 'success'; 

      $_SESSION['user'] = $name; 

      $_SESSION['permission'] = $permission; 


    if($permission == 1){ 
     header("Location:index.php"); 

    } else if($permission == 2){ 
     header("Location:index2.php"); 
    } 

     } else { 

     header("Location:login.html"); 



     } 

    ?> 

有什麼問題?

+1

不,你需要告訴我們一個最小編碼的例子中的問題......也不要將密碼存儲爲明文,代碼有sql注入漏洞,你應該停止使用mysql_ *函數,它們已被棄用。 –

+0

跟蹤此行$ permission = $ row [「permission」]' - >'$ permission = $ row [「Permission」]'permission'P'應該是大寫 –

+0

如果db列定義使用'varchar'而不是'符'?不確定sql是否檢查'char'列的全長。 –

回答

0

首先使用print_r查看數據,

$row = mysql_fetch_row($returns); 
print_r($row); 

可以看到結果作爲陣列格式。下面的代碼替換$permission = $row["permission"] ;

$permission = $row[3] ; 

,並請參閱mysql_fetch_row()