在mysql中登录会话

时间:2013-05-29 09:11:33

标签: php mysql session

这是我的登录页面中的代码..我需要只允许我的数据库中的用户登录..用户可以是管理员,可以访问我网站中的某些链接。所以其他人无法访问我已将管理员指定为角色 ID为R2 除了StaffReport之外,用户可以查看我的所有报告......所以,如果我是Admin,我将使用管理员用户名和密码 这是我的login.php上的代码

<?php

    session_start();

    require_once("mysqlconn.php");

    $dbconn = mysql_connect($hostname, $username, $password) or 
    die('Could not connect: ' . mysql_error());


    mysql_select_db($database, $dbconn);

    $uusername= $_POST['uusername'];
    $upassword= $_POST['upassword'];

    // build query
    $qry = "Select * from Users where u_username='$uusername' and " .
        "u_password=PASSWORD('$upassword')";

    // execute query
    $result = mysql_query($qry) or die('Query failed: ' . mysql_error());

    if(mysql_num_rows($result)==1)
    {


        $row = mysql_fetch_assoc($result);          

        .
        $_SESSION['userno'] = $row['user_id'];
        $_SESSION['roleno'] = $row['role_id'];

        header("Location: ./index.php"); 

        // stop execution of this page
        exit;
    }
    else
    {

        header("Location: ./LoginForm.php"); 

        exit;
    }

    mysql_close($dbconn);

?>

在我的fun.in.php中我有这个

<?php
    // start the session - this has to be done in all scripts that use $_SESSION array
    session_start();    
    DEFINE("ADMIN_ROLE", "R2");
    // function to check if the user has logged in. If user has loged in then this function
    // returns a true
    function Has_Session()
    {
        if(!isset($_SESSION['userno']) or 
            $_SESSION['userno'] == "")
        {
            return false;
        }
        else
        {
            return true;
        }
    }

    // Declare cleaning function 
    function clean_it ($string_variable)
    { 
        $string_variable = addslashes(trim($string_variable)); 

        return $string_variable; 
    } 

    function IsAdministrator()
    {
        if(isset($_SESSION['roleid']) AND 
            $_SESSION['roleid'] == ADMIN_ROLE
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    function printErrorMessage($message)
    {
        echo "<center><table id='form-table'><th>Access Error</th>" .
            "<tr><td><b>$message</b></td></tr></table></center>";

    }


?>

问题当我尝试登录例如John指定为Adminstartor(R2)时我无法登录..没有显示错误但是它将我返回到我的Loginform

0 个答案:

没有答案