2017-08-06 17 views
0

私はこれを達成しようとする複数のプロセスを経験しましたが、それを理解できませんでした。重複した回答を見つけるためにStack Overflowに行きました。私はいくつかを見つけ、それらを自分のコードに調整しようとしました。まだ使用していません。私がログインしているかどうかはプロフィールページに行き、ユーザー名がデータベースにある場合は、その名前を表示したいと言っています。データベースにない場合は、何も表示しないでください。もしそうならISSETのUSER_IDは、基本的に私がログインしてるならば、これを行うと言うログインしたら、ユーザー名がデータベースにあるかどうかを確認しようとしていますか?

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."; 
    } 
} 

:ここに私が思い付いたものです。その後のコードは、そのデータベースにユーザー名が見つかったかどうかを調べようとしています。もしそうなら、それが見つかったと言う。そうでない場合は、しないでください。私はこれがはっきりしたことを望む!ありがとうございました!

EDIT:ここでは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 { 
         } 
        ?> 

これは私が上だプロフィールページです。

答えて

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"; 
    } 

} 
+0

私は '未定義のインデックス取得しています:username'エラーと' mysqli_num_rows()は、パラメータ1を使用すると、$ _POSTをチェックするために必要なすべての@ChandraKumar –

+0

まずmysqli_result'されることを想定してい['username']が空であるかどうかわかりません。 –

+0

すぐに、私はすぐに例を研究しました。正直なところ、私は理解していません。 $ _POST ['username']が空であるかどうか確認する手助けをしてもらえますか? –

関連する問題