PHP - удалить параметры из URL, но все равно перейти на другую страницу - PullRequest
0 голосов
/ 17 марта 2020

У меня есть php веб-сайт. На первой странице содержится список продуктов, и в настоящее время я передаю идентификатор (полученный из базы данных mysql) для продукта в URL-адресе на страницу элементов, т.е. localhost / item. php? 4

Я не хочу показывать какие-либо параметры в URL, поэтому изучил еще один вариант, использующий сеанс.

Проблема в том, что ссылка на каждый из моих элементов уже давно l oop получение идентификатора и названия продукта из базы данных, поэтому у меня возникают проблемы с отображением идентификатора сеанса при нажатии на элемент / ссылку.

Вот фрагмент моего кода (я удалил код сеанса ):

$stmt = $con->prepare("SELECT pid, product_name FROM persons where deleted = ? order by order_age desc");
$stmt->bind_param("i", $del);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {

    echo '<tr><td>';
        $phn = $row["pid"];
        echo "<span><a class='storage' href='item.php'>" . $rows["product_name"] . "</a></span>";
}
echo "</td></tr>";
}

Наверное, у меня есть два вопроса:

  1. Можно ли добиться того, что мне нужно сделать
  2. Как правильно достичь это

Заранее спасибо, Пит

1 Ответ

0 голосов
/ 17 марта 2020

Опции, кратко

  • Вы можете сначала загрузить /item.php?id=4, а затем перенаправить на /item-hidden.php и использовать $_SERVER['HTTP_REFERER'] & parse_url & обработать GET часть URL-адреса реферера.

  • Вы также можете использовать сессию для этого. Установите переменные сеанса, когда страница загружается в длинный URL, затем перенаправьте на короткий URL, загрузите сеанс и очистите сеанс.

  • Если вы просто хотите сократить URL, тогда вы можете использовать uniqid() и поместить уникальный идентификатор в URL-адрес и сохранить параметры в переменной сеанса с этим уникальным идентификатором.

  • Вы можете использовать готовый сокращающий URL .

  • Вы можете свернуть свой собственный сокращатель URL, используя справочный файл, содержащий массив или базу данных.

  • Конечно, есть и другие творческие решения, которые Я не думал о

Мои мысли:

  • Скрытие URL-адреса вообще приведет к плохому опыту пользователя - невозможность делать закладки, используя Кнопка будет в стиле фанк, трудно поделиться элементом в социальных сетях или блоге
  • Сокращение URL-адреса приятно , но не обязательно
  • В зависимости от того, какие опции вы работаете с помощью этого вы можете создавать сокращения, более удобные для просмотра в строке URL-адреса или в ссылках на базы данных для наборов параметров, которые являются чрезвычайно распространенными
  • То, что вы пытаетесь сделать, выглядит как отличное обучение Проект - узнать о сессиях, http_referer, базе данных и еще много чего. Я думаю, что, делая то, что вы хотите, вы узнаете, что вам не очень нравится то, что он чувствует - или вы можете придумать умный способ сделать ваши URL красивее и сделать UX действительно красивым.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...