#php #mysql #session
#php #mysql #сессия
Вопрос:
После входа в мое приложение у меня есть список элементов, сгенерированных из моей базы данных. У каждого из них есть кнопка «Подробнее». Как только мы нажмем на нее, мы будем перенаправлены на другую страницу, которая представляет «полное содержимое» элемента, на который нажали.
Моя проблема: как убедиться, что «правильный» идентификатор сеанса приведет к правильному контенту?
У меня есть цикл while, который загружает элементы в приложение, но когда все сделано, идентификатор сеанса зависает на последнем элементе. что приводит все мои кнопки «Подробнее» к представлению полного содержимого этой последней.
Большое спасибо, ребята!
(кстати, это мой первый вопрос по stackoverflow! Кроме того, извините, если мой английский не настолько хорош ..)
Редактировать :
я думаю, что проблема в моей функции «по щелчку». Есть код :
while ($actorinfo = $req->fetch())
{
$_SESSION['id'] = $actorinfo['id'];
if (strlen($actorinfo['content']) > 100)
{
$extract = substr($actorinfo['content'], 0, 100)."...";
?>
<div class="actor">
<div class="logo"><?php echo htmlspecialchars($actorinfo['logo']); ?></div>
<h3 class="name"><?php echo htmlspecialchars($actorinfo['name']); ?></h3>
<div class="content"><?php echo htmlspecialchars($extract); ?></div>
<div class="read_more"><button class="button" onclick="window.location.href='pageActeur.php'">Lire la suite</button></div>
</div>
<?php
}
}
$req->closeCursor();
?>
Комментарии:
1. Трудно сказать без кода, но кажется, что вы генерируете ссылку «подробнее» в неподходящее время, если у всех них одинаковый идентификатор. Он должен быть сгенерирован внутри цикла, а не в конце — как вы видели, в конце у вас будет только последнее значение.
2. Привет! я отредактировал сообщение с кодом на «главной странице». Спасибо за ответ.
3. Ваша ссылка на кнопку «подробнее» не включает в себя
id
— вам нужно передать это вpageActeur.php
в качестве параметра, и этот код считывает его из$_GET
массива, а не из сеанса. На самом деле нет смысла помещать его в переменную сеанса для того, что вы пытаетесь с ним сделать, — если вы настаиваете на том, чтобы делать это через переменную сеанса, вам придется установить один для каждого элемента, возвращаемого в цикле, а затем найти какой-либо способ сообщить вашему PHP-коду, какой из них вы имели в виду. Вставить его в ссылку кнопки намного проще.4. В итоге я использовал массив $ _GET, как вы предложили, да. Большое спасибо за ваши ответы, приятель. Хорошего дня!