2010-02-27 82 views
1

hye guys .. 我有一个问题,我没有知道错误 我已验证页面,其中检查组以识别用户 如果该组是admin,则管理页面将显示。 而如果该组是用户,该用户页面将出现.. 的情况:当我插入用户名和密码,验证页面出现空白页...我不知道代码有什么问题... PLZ guys..help我..验证页面错误

下面的代码:

<?php 
session_start();    
if($_POST['id']!=null && $_POST['pass']!=null){ 

    $username=$_POST['id']; 
    $password=$_POST['pass']; 


[email protected]_connect('localhost','root') 
    or die("Could not connect".mysql_error()); 
    if ([email protected]_select_db("fyp",$link)){ 
    echo mysql_error(); 
    } 

$db_select = mysql_select_db('fyp',$link); 
if (!$db_select) { 
die("Database selection failed: " . mysql_error()); 
} 

    $sql="SELECT * from access where username='".$username."' AND password='".$password."'"; 
    $result=mysql_query($sql); 
    if(!$result){ 
    die(mysql_error()); 
    } 
    $numrecord=mysql_num_rows($result); 
    if($numrecord>0){ 
     if($group=="admin"){ 
     $_SESSION['id']=$username; 
     $_SESSION['pass']=$password; 
     $_SESSION['group'] = $row['group']; 
     mysql_close($link); 
     header("Location:adminpage.php"); 
     } 
     elseif($group=="user"){ 
     $_SESSION['id']=$username; 
     $_SESSION['pass']=$password; 
     $_SESSION['group'] = $row['group']; 
     mysql_close($link); 
     header("Location:userpage.php"); 
     } 
    } 

    else{ 
    mysql_close($link); 
    header("Location:login.php?error=2"); 
    } 
} 
else{ 
    header("Location:login.php?error=1"); 
    } 

?> 
+0

密码是如何存储在数据库中的?作为cleat文本或哈希?您正在检查明文密码。也许你没有得到任何结果,脚本死亡。 – 2010-02-27 09:10:04

回答

0

您并未使用mysql_fetch_array或其他函数实际从数据库中提取行。试试这个:

$numrecord=mysql_num_rows($result); 
if($numrecord>0){ 

    $row = mysql_fetch_array($result); //////////// 
    $group = $row['group']; 

    if($group=="admin"){ 
    $_SESSION['id']=$username; 
    $_SESSION['pass']=$password; 
    $_SESSION['group'] = $row['group']; 
    ................ 

此外,您需要在查询中使用mysql_real_escape_string函数来避免安全问题。

+0

谢谢sarfraz ...乌尔代码成功..感谢亚.. – user273551 2010-02-27 10:12:40

+0

@ ejah85:不客气 – Sarfraz 2010-02-27 11:13:11