我登录后试图查看用户名是否在数据库中?

时间:2017-08-06 17:03:31

标签: php mysql mysqli

我经历了多个尝试完成此任务的过程,但无法完全理解。我继续使用Stack Overflow找到重复的答案。我发现了一些,并尝试将它们调整为我的代码。仍然没有用。我试图说我是否已登录到个人资料页面,如果用户名在数据库中,我希望您显示他们的名字。如果不在数据库中,那么就不要显示任何内容。以下是我提出的建议:

if (isset($_SESSION['user_id'])){
    $username = mysqli_real_escape_string($con, $_POST['username']);
    $sql = "SELECT * FROM users WHERE username = '".$username."'";
    $result = mysqli_query($con,$sql);
    if(mysqli_num_rows($result)>=1){
        echo "User was found in the database";
    }
    else{
        echo "User was not found in the database.";
    }
}

所以if isset user_id基本上说如果我已经登录,那么就这样做。之后的代码是尝试查找是否在该数据库中找到用户名。如果是,那就说出来了。如果没有,那就不要了。我希望这很清楚!谢谢!

编辑:这是HTML代码:

 <?php
    session_start();
    ob_start();
    include_once('dbconnect.php');
    ?>

        <div class="banner_container">
            <div class="jumbotron text-center">
        <?php 


        if (isset($_SESSION['user_id']) && isset($_POST['username'])){

    if(($_SESSION['user_id'] != "") && ($_POST['username'] != "")){
        $user_id = $_SESSION['user_id'];
        $username = mysqli_real_escape_string($con, $_POST['username']);
        $sql = "SELECT * FROM users WHERE username = '".$username."' AND user_id !=".$user_id;
        $result = mysqli_query($con, $sql);
        if(mysqli_num_rows($result) > 0){
            echo "User was found in the database";
        }
        else{
            echo "User was not found in the database.";
        }
    }
    else{
       echo "Username or user Id is empty";
    }

}
        ?>

        <?php 
            echo "<h1>";
            echo $_SESSION['first_name'];
            echo " ";
            echo $_SESSION['last_name'];
            echo "</h1>";
            echo "<p>";
            echo '"';
            echo $_SESSION['quote'];
            echo '"';
            echo "<br>";
            echo $_SESSION['who'];
            echo "</p>";

        ?>
        </div>
    </div>


<li><a href="http://www.quotin.co">Home</a></li>
                    <li><a href="quotin_about"> About</a></li>
                    <li class="qotd"><a href="quotin_qotd"> Quote of the Day</a></li>
                    <li class="all_categories"><a href="quotin_categories">All Categories</a></li>
                    <li><a href="http://www.quotin.co/quotin_authors"> Authors</a></li>
                    <?php
                        if(isset($_SESSION['user_id'])){
                        echo $_SESSION['user_id'];

                        echo '<li id="active" class="dropdown">';
                        echo '<a id="act_color" href="#" class="dropdown-toggle" data-toggle="dropdown">';
                        echo $_SESSION['first_name'];
                        echo "'s";
                        echo ' ';
                        echo "Profile";
                        echo '<b class ="caret"></b></a>';
                        echo '<ul class="dropdown-menu">';
                        echo '<li><a href="profile.php"> Profile</a></li>';
                        echo '<li><a href="logout.php">Log out</a></li>';
                        echo '</ul>';
                        echo '</li>';
                        echo '</a>';
                        echo '</li>';
                        } else {
                        }
                    ?>

这是我所在的个人资料页面。

1 个答案:

答案 0 :(得分:0)

使用此代码:

if (isset($_SESSION['user_id']) && isset($_POST['username'])){

    if(($_SESSION['user_id'] != "") && ($_POST['username'] != "")){
        $user_id = $_SESSION['user_id'];
        $username = mysqli_real_escape_string($con, $_POST['username']);
        $sql = "SELECT * FROM users WHERE username = '".$username."' AND user_id !=".$user_id;
        $result = mysqli_query($con, $sql);
        if(mysqli_num_rows($result) > 0){
            echo "User was found in the database";
        }
        else{
            echo "User was not found in the database.";
        }
    }
    else{
       echo "Username or user Id is empty";
    }

}