2016-03-23 26 views
0

管理者は、ユーザーのログインに基づいてメンバーを承認できるようにします。私はすべての情報を持つmemebersテーブルを持っています。管理者とpassword="xxxx"location="canada"とすると、location= "canada"のメンバーだけが表示されます。 これまで私が行ってきたことです。このSqlクエリを使用すると、データベース内のすべてのメンバーを表示する$view_members_query="select * from members";が表示されます。私は管理者が場所に基づいて見るべきものだけを表示する必要があります。私を助けてください。ユーザーのログインに基づいてデータベースのデータを表示

おかげ

管理者ログイン

<?php 
    $con = mysqli_connect("localhost","root","","table"); 
    if (mysqli_connect_errno()) 
    { 
    echo "MySQLi Connection was not established: " . mysqli_connect_error();} 
    // checking the user 
    session_start(); 
if(isset($_POST['login'])){ 
$location = mysqli_real_escape_string($con,$_POST['location']); 
$username = mysqli_real_escape_string($con,$_POST['username']); 
$password = mysqli_real_escape_string($con,$_POST['password']); 
$sel_user = "select * from Admin_table where location= '$location' AND user_name='$username' AND password='$password'"; 
$run_user = mysqli_query($con, $sel_user); 
if (mysqli_num_rows($run_user)>0) 
{ 
echo "<script>window.open('memberslist.php','_self')</script>"; 
$_SESSION['user_name']=$_POST['username']; 
} 
else { 
echo "<script>alert('Location, Username or password is not correct, try again!') </script>"; 
}} 
?> 

memberslist.php

<table class="simple-table"> 
    <thead> 
    <tr> 
     <th>First Name</th> 
     <th>Last Name</th> 
     <th>Location</th> 
    </tr> 
    </thead>  
    <?php 

    $view_members_query="select * from members"; 
    $run=mysqli_query($con,$view_members_query); 
    while($row=mysqli_fetch_array($run))//while look to fetch the result and store in a array $row. 
    {  
     $fname=$row[1]; 
     $lname=$row[2];    
     $location=$row[3]; 

    ?> 
    <tr> 
<!--here showing results in the table --> 

     <td><?php echo $firstname; ?></td> 
     <td><?php echo $lastname; ?></td>  
     <td><?php echo $location; ?></td>  

答えて

1

1)ログインコードに、ユーザー名を保存するのと同じ方法で、セッション内のユーザーの場所を保存します。

2)memberlist.phpのSQLコードで、where criteriaを使用して場所に基づいてフィルタリングします。実際には、コードをログインページのコードに入れています。これは、場所を使用してユーザーにログインしているためです。 sessionの場所を使用することを忘れないでください。

+0

私はwhere条件を考えましたが、どこでlocation = locationを使用すれば、どのように管理者のログインにリンクするのですか?私は実際にセッションの使い方を知らない。私がこれを達成する方法を説明してください – user2998991

+0

セッションを通して管理者アカウントにリンクしています。ログイン時に場所をセッションに保存し、メンバーに照会するときにこの情報を使用することで、各管理者に関連するメンバーだけが表示されます。セッションをどのように使用するかに関するリンクで答えを更新しました。 – Shadow

関連する問題