Php 在所有现有帐户中查看特定帐户时显示特定用户信息
目前,我一直在思考如何从数据库中存在的许多帐户中识别/区分特定帐户。假设我在主页上,单击某个帐户,我希望显示我查看的特定帐户的信息,但我无法显示该信息,因为我不知道如何识别我尝试查看的特定帐户 下面是我的php代码,用于显示所有帐户Php 在所有现有帐户中查看特定帐户时显示特定用户信息,php,html,mysqli,Php,Html,Mysqli,目前,我一直在思考如何从数据库中存在的许多帐户中识别/区分特定帐户。假设我在主页上,单击某个帐户,我希望显示我查看的特定帐户的信息,但我无法显示该信息,因为我不知道如何识别我尝试查看的特定帐户 下面是我的php代码,用于显示所有帐户 $username = $_SESSION['username']; $sql1 = "SELECT username, address, country, zipcode, photo, bio FROM user WHERE NOT username = '$u
$username = $_SESSION['username'];
$sql1 = "SELECT username, address, country, zipcode, photo, bio FROM user WHERE NOT username = '$username'";
$result = $conn->query($sql1);
if($result->num_rows > 0)
{
while($row = $result->fetch_assoc())
{
echo "<div id = 'account'>";
echo "<span id = 'image'><a id = 'accounts' href = 'accounts.php'><img src = '".$row['photo']."' alt = 'profile photo' width = '100px' height = '100px' style = 'margin-right:40px; margin-top: 5px;'></span>";
echo "<div id = 'username'><big><b style='text-transform:lowercase;'>".$row['username']."</big></a></b><br><small><i><q>".$row['bio']."</q></i></small><br>Lives in <b style='text-transform: capitalize;'>".$row['address']."</b><br>From <b>".$row['country']."</b></div><button id = 'addFriend' type = 'button' onclick = 'addFriends()'>Add friend</button>";
echo "</div>";
}
}
从上面的代码中,我可以很容易地识别登录帐户的用户,方法是在注册时将输入文本中的用户名存储在会话中。但现在由于没有文本字段或任何我可以在会话中存储用户名的地方,我被困在如何识别用户的问题上。要从数据库中检索它,我想我需要首先识别用户。希望我清楚。
提前谢谢。据我所知,您有一个主页,当您单击某个帐户时,您希望显示该帐户的特定页面。 假设这就是您正在寻找的,您可以使用他们的id或用户名来识别帐户。 我通常使用GET参数来获取信息,然后运行查询来获取信息。所以你需要的是一个特定的链接https://example.com/user?id=3 像这样 正如您在域和页面之后看到的那样https://example.com/user 在本例中,我们有一个问号和一个名称id,可以是您想要的任何东西,值为3 这意味着我在超全局数组$\u GET中有一个值,可以使用id作为键访问该值,因此如果我这样做$\u GET[id]//3输出将为3。 通过这样做,您可以使用此值查询数据库并获取特定帐户 记得清理输入!!!其他明智的用户可以侵入你的数据库使用此获取更多信息 之后可以运行查询以获取信息。 详细示例: -Home.php
/**/
<a href="https://example.com/user.php?id=1">Visit This Account!!</a>
/**/
-User.php
/**/
$id = $_GET["id"]; //SANITIZE INPUT!!!!!!
$sql1 = "SELECT username, address, country, zipcode, photo, bio FROM user WHERE id = '$id'";
$result = $conn->query($sql1);
if($result->num_rows > 0)
{
while($row = $result->fetch_assoc())
{
echo "<div id = 'account'>";
echo "<span id = 'image'><a id = 'accounts' href = 'accounts.php'><img src = '".$row['photo']."' alt = 'profile photo' width = '100px' height = '100px' style = 'margin-right:40px; margin-top: 5px;'></span>";
echo "<div id = 'username'><big><b style='text-transform:lowercase;'>".$row['username']."</big></a></b><br><small><i><q>".$row['bio']."</q></i></small><br>Lives in <b style='text-transform: capitalize;'>".$row['address']."</b><br>From <b>".$row['country']."</b></div><button id = 'addFriend' type = 'button' onclick = 'addFriends()'>Add friend</button>";
echo "</div>";
}
}
/**/
附言。
您应该使用PDO和Preped语句来防止攻击。@Nick,用户名也是唯一的密钥。但这不是我的问题,问题是我无法识别我查看/选择的特定帐户。这是否意味着主页中的id增加了?因为如果不是这样,我相信所有帐户都将具有相同的id,从而显示数据库中的所有帐户信息。该id就是您在数据库中使用的id,因此,如果该表操作正确,它将不会具有id,而是将id替换为用户名(也是唯一的)。我可以这样说吗----a标签在里面,而Loop是的,你可以这样做,如果答案正确,请将其标记为正确