首页显示所有用户信息

Home displaying all users info

我使用 PHP 构建了一个简单的 CRUD,但主文件显示了我在数据库中拥有的所有信息,甚至包括其他用户添加的信息。我如何过滤它以仅显示登录的用户信息?

这是 home.php 文件:

<?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>

无论你在哪里分配 $_SESSION['user'] 也将用户记录 ID 分配给会话..这样你就可以在你的 sql 中添加一个 where 子句并只获取所需的记录..

快速示例:

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

使用id或name区分记录

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

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

您必须有一个自动递增的主键作为您的 ID。