Отображать информацию о конкретном пользователе при просмотре определенной учетной записи из всех существующих учетных записей - PullRequest
0 голосов
/ 12 марта 2019

в настоящее время я застрял в том, как я должен идентифицировать / отличить определенную учетную запись от многих учетных записей, которые существуют в моей базе данных Допустим, я на главной странице и щелкаю учетную запись, и я хочу, чтобы отображалась информация об этой конкретной учетной записи, которую я просмотрел, но я не смог ее отобразить, так как не знаю, как определить конкретную учетную запись, которую я пробую смотреть.

Вот мой 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>";
            }
        }

Из приведенного выше кода я могу легко идентифицировать учетную запись пользователя (человека, вошедшего в систему), сохранив его / ее имя пользователя в сеансе из введенного текста при регистрации. Но теперь, когда нет текстового поля или чего-либо еще, откуда я могу получить имя пользователя для хранения в сеансе, я застрял в том, как идентифицировать пользователя. И, чтобы извлечь его из базы данных, я думаю, что сначала мне нужно идентифицировать пользователя. Надеюсь, мне ясно. Заранее спасибо.

1 Ответ

1 голос
/ 12 марта 2019

Из того, что я понял, у вас есть домашняя страница, и когда вы щелкаете по учетной записи, вы хотите отобразить страницу, относящуюся к этой учетной записи.Предположим, что это то, что вы ищете, вы можете идентифицировать учетную запись, используя их идентификатор или имя пользователя.Обычно я использую параметры GET для получения информации, а затем запускаю запрос для получения информации.Так что вам нужна конкретная ссылка https://example.com/user?id=3, как это.

Как вы можете видеть после домена и страницы (https://example.com/user), у нас есть знак вопроса и имя id в данном случае (может быть любым), а значение =3 означаетчто у меня есть значение в суперглобальном массиве $_GET, которое доступно с использованием id в качестве ключа, поэтому, если я сделаю это echo $_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>";
            }
        }
/**/

PS Вы должны использовать PDO и оператор prepered, чтобы предотвратитьатаки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...