首页显示所有用户信息
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。
我使用 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。