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 == "moderator"){ echo "";

注:user_typeはusersという名前のテーブルの列であり、ffであるレコードがあります:

ID = 1

ログイン = 管理者

パスワード = シシ

user_type = モデレーター

そんな感じ..

ユーザーがログインし、彼がモデレーターである場合、どうすればそれを行うことができますか...彼は自動的にadministration.php PAGEにリダイレクトします。

助けてください...

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 に答える