Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在所有现有帐户中查看特定帐户时显示特定用户信息_Php_Html_Mysqli - Fatal编程技术网

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

目前,我一直在思考如何从数据库中存在的许多帐户中识别/区分特定帐户。假设我在主页上,单击某个帐户,我希望显示我查看的特定帐户的信息,但我无法显示该信息,因为我不知道如何识别我尝试查看的特定帐户

下面是我的php代码,用于显示所有帐户

$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是的,你可以这样做,如果答案正确,请将其标记为正确