1

我在这里做错了什么?

如果用户类型 = 版主,我计划将登录重定向到名为 Administration.php 的页面。

所以我创建了一个名为 users 的表,其中包含值.... 列:

  1. 登录

  2. 密码

  3. 用户类型

                    <?php
                    error_reporting(E_ALL & ~E_NOTICE);
                    ?>
    
    
                    <?php
                    session_start(); 
                    if( $_SESSION["logging"]&& $_SESSION["logged"])
                    {
                     printme(); }
    
    
    
                    else {
                     if(!$_SESSION["logging"])
                        {  
                             $_SESSION["logging"]=true;
                             loginform();
                         }
                     else if($_SESSION["logging"])
                         {
                            $number_of_rows=checkpass();
                            if($number_of_rows==1)
                         {  
                            $_SESSION[user]=$_GET[userlogin];
                            $_SESSION[logged]=true;
    
                            print"<h1>You have logged in successfully</h1><br/>";
                            print "<a href='logout.php'>Logout</a> | <a href='users.php'>Click to proceed</a>"; 
                         }
                            else {
    
                        print"<br/><br/>";
                        loginform();
                        }
                    }
                 }
    
    
    
    
    
    
    
    
                function loginform()
                {
    
                print ("<center><div id='login_header'><b><font face='Arial Black' color='black' size='4px'>Sign in to Minquep!</font></b></div></cen                   ter>");
                print("<br/><br/>");
                print ("<center><label>Username:</label><input type='text' name='userlogin' size='20'><br/><label>Password:</label><input type='                password' name='password' size='20'></center>");
                print "<br/><input type='submit' value='Submit' name='submit' class='submit'>"; 
    
    
                }
    
    
                function checkpass()
                {
    
                $dbHost = 'localhost';
                $dbUser = 'root';
                $dbPass = '';
                $dbname = 'minquep_test';
    
                $conn = mysql_connect($dbHost,$dbUser,$dbPass); // Connection Code
                mysql_select_db($dbname,$conn); // Connects to database
    
    
    
                $sql="select * from users where login='$_GET[userlogin]' and password='$_GET[password]'";
                $result=mysql_query($sql,$conn) or die(mysql_error());
                return  mysql_num_rows($result);
    
                if ($result->user_type == "moderator"){
                    echo "<meta http-equiv=\"refresh\" content=\"0;URL=pages/administration.php\">";
                }
    
                }
    
    
    
                function content(){
                print("<b><h1>hi mr.$_SESSION[user]</h1>");
                print "<br><h2>only a logged in user can see this</h2>";
    
    
    
                }
    
                function printme(){
    
                }
    
                ?>
    
    
    
    
            </form>
    

从上面的代码^

我试图做这个场景,但它不起作用..

if ($result->user_type == "主持人"){ echo "";

注意:user_type 是名为 users 的表中的一列,我有一条记录,它是 ff:

ID = 1

登录 = 管理员

密码=石狮

user_type = 版主

之类的。。

每当用户登录并且他是版主时,我该怎么做...他会自动重定向到 Administration.php 页面。

请帮忙...

4

1 回答 1

0

在进入主持人行之前,您过早地返回了结果集的行数。

试试这个:

        $user_login = mysql_real_escape_string($_GET['userlogin']);
        $password = mysql_real_escape_string($_GET['password']);
        $sql = "select * from users where login='$user_login' and password='$password'";
        $result = mysql_query($sql,$conn) or die(mysql_error());
        $fetched = mysql_fetch_array($result);

        if ($fetched['user_type'] == "moderator"){
            echo "<meta http-equiv=\"refresh\" content=\"0;URL=pages/administration.php\">";
        }
于 2012-07-20T18:30:29.757 回答