2016-06-03 9 views
0

Ich baute eine einfache CRUD mit PHP, aber die Home-Datei zeigt alle Informationen, die ich in der Datenbank habe, auch die Informationen von anderen Benutzern hinzugefügt. Wie kann ich dies filtern, um nur die Informationen der angemeldeten Benutzer anzuzeigen? HierStartseite mit allen Benutzern Info

ist die home.php Datei:

<?php 
session_start(); 
if(isset($_SESSION['user'])){ 
    echo "Logado como ". $_SESSION['user']; 
} 
else { 
    echo"<script language='javascript' type='text/javascript'>alert('Voce deve estar logado');window.location.href='index.php';</script>"; 
} 

?> 
<!DOCTYPE html> 
<html> 
<head> 
    <title>Perfil</title> 
</head> 
<body> 
    </br> 
    <a href="logout.php">Sair</a></br> 
    <h2 align="center">Lista de contatos</h2> 
    <table align="center" border="1"> 
     <tr> 
      <th>Nome</th> 
      <th>Telefone</th> 
      <th>Endereco</th> 
      <th>Editar</th> 
      <th>Deletar</th> 
     </tr> 
     <?php 
       mysql_connect("localhost", "root","") or die(mysql_error()); //Connect to server 
       mysql_select_db("forms") or die("Cannot connect to database"); //connect to database 
       $query = mysql_query("Select * from contatos"); // SQL Query 
       while($row = mysql_fetch_array($query)) 
       { 
        Print "<tr>"; 
         Print '<td align="center">'. $row['nome'] . "</td>"; 
         Print '<td align="center">'. $row['telefone'] . "</td>"; 
         Print '<td align="center">'. $row['endereco'] . "</td>"; 
         Print '<td align="center"><a href="editar.php?id='. $row['id'] .'">Editar</a> </td>'; 
         Print '<td align="center"><a href="deletar.php?id='. $row['id'] .'">Deletar</a> </td>'; 



        Print "</tr>"; 
       } 
      ?> 


    </table> 
    <div align="center"> 
    <a href="informacoes.php">Adicionar contato</a></br> 
    </div> 
</body> 
</html> 

Antwort

0

Verwenden ID oder Namen Datensätze zu unterscheiden

$sql = "SELECT * FROM contatos WHERE nome = ".$_SESSION['user']; 

$sql = "SELECT * FROM contatos WHERE id = ".$_SESSION['id']; 

Sie müssen einen automatisch inkrementierten Primärschlüssel haben, der Ihre ID sein wird.

+0

Sorry deay, aber das hat mir sehr geholfen, danke –

+0

wenn nützlich finden Sie können dies als eine Antwort bestätigen. –

1

Wo auch immer Sie zuweisen $_SESSION['user'] auch den Benutzerdatensatz-ID der Sitzung zuweisen .. Auf diese Weise können Sie fügen Sie eine where-Klausel zu Ihrer SQL und holen nur die gewünschte Datensatz ..

Schnell Beispiel:

if(isset($_SESSION['user_id'])) { 
    $sql = "SELECT * FROM contatos WHERE id = {$_SESSION['user_id']}"; 
    // .... 
} 
Verwandte Themen