主页显示所有用户信息

时间:2016-06-03 11:42:44

标签: php html crud

我使用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>

2 个答案:

答案 0 :(得分:1)

无论您在何处分配$_SESSION['user'],还要为会话分配用户记录ID。这样您就可以在您的sql中添加where子句并仅获取所需的记录..

快速举例:

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

答案 1 :(得分:0)

使用ID或名称来区分记录

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

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

您必须拥有一个自动增加的主键,这将是您的身份。

相关问题