ссылки ведут они на одну и ту же страницу с подробным описанием товара. Как понять на какую именно запись нажал пользователь чтобы передать на эту страницу id товара ?
Ссылки должны вести на разные страницы. Я вам в др. теме накидал терминов. Если что-то непонятно, уточняйте или ищите определения этих терминов в сети. --- Добавлено --- Пофиг, какие сущности, пользователи, товары и т.п. Принцип везде одинаковый. Просто для товаров у тебя будут адреса вроде /products/1 (/goods/1) вместо /users/1 --- Добавлено --- Взять id из адреса. Только прежде чем полноценно обрабатывать, нужно понять, что это именно id товара, а не др. сущности. Роутер как раз и занимается этим – распределяет запросы по нужным обработчикам.
@Амай выше тебе всё верно написали. Я только уточню именно термины. Страница в смысле адреса (URL) должна быть своя на каждую отдельную сущность. А вот файл скрипта может быть один и тот же. Просто он параметры разные получает и поэтому возвращает разный ответ. Конечно, роутер и единая точка входа (т.н. фронт-контролллер) — это отличная практика. Однако, для простоты в целях обучения, можно начать с отдельного скрипта для товара, у которого будет параметр: идентификатор товара. Например: https://mymag.test/product.php?id=128 Ещё раз, скрипт product.php один, но для браузера каждый товар со своим id будет выглядеть отдельной страницей! Бывает что люди с "джаваскриптом головного мозга" мыслят только в терминах "кликнул-изменилось" и реализуют всю фигню на одном и том же URL. Но это чревато ошибками, т.к. логически криво, непредсказуемо при переходе извне и нарушает принцип "идемпотентности GET-запроса". Во как! Давай скажем по-другому: "как скрипт может понять, какую запись он должен показать?". Потому что скрипту неведомо "нажал" это кто-то или это скажем робот поисковика обходит страницы, это неважно! Есть запрос, у него есть параметры. Если это параметр после "?" в строке адреса, то это GET-параметр и в php ты его получаешь из массива $_GET. PHP: <?php $productId = $_GET['id'] ?? null; ?> Product <?= var_dump($productId); ?>. --- Добавлено --- Каждый раз когда пользователь "нажимает" на ссылке, браузер посылает на сервер новый GET-запрос с адресом, который у тебя указан в теге A. PHP: <a href="/product.php?id=123">чипсы Lays</a>