Мне нужна пользовательская страница, чтобы как-то заполнить сведения о продукте, который был выбран пользователем
Вполне приемлемо создать URL-адрес продукта с соответствующим productId, чтобы на странице сведений можно было вызвать $ _GET ['id']. После того, как вы локализовали productId на странице сведений, вы можете отправить запрос в базу данных ваших продуктов, чтобы получить соответствующие данные о продукте через productId. Очевидно, это лучшее решение, чем пытаться передать все данные о продукте через URL.
Пример:
// Results page
// You can build links similar to the following
// This assumes you have a product object from which you can get id and name
<a href="/product/detail/<?php echo $product->getId() ?>"><?php echo $product->getName() ?></a>
// Detail page
// Localize id
$productId = $_REQUEST['id']; // I prefer to use $_REQUEST vs $_GET
// Create our database object (dbo)
$dsn = 'mysql:dbname=mydbname;host=127.0.0.1';
$user = 'myusername';
$pass = 'mypass';
try {
$dbo = new PDO($dsn, $user, $pass);
} catch (Exception $e) {
echo 'Unable to connect: ' . $e->getMessage();
}
// Construct your read query
$sql = "SELECT * FROM my_product_table WHERE id = :productId";
// Prepare query (avoids nasty things like sql injection by properly escaping
// passed in parameters (:productId)
$stmt = $dbo->prepare($sql);
// Bind your local variable to the sql statement
$stmt->bindValue(':productId', $productId, PDO::PARAM_INT);
// Execute query
$stmt->execute();
// Localize query results (PDO::FETCH_OBJ will turn $product into a stdObject)
$product = $stmt->fetch(PDO::FETCH_OBJECT);
// Now you have access to the product data as it is stored in your database
var_dump($product->name);
var_dump($product->category);
....
Я предлагаю вам прочитать PHP PDO (на котором основано вышеизложенное) для доступа к базе данных. Есть 100 способов достичь той же цели, но я думаю, что приведенного выше примера должно быть достаточно, чтобы вы начали в правильном направлении.