У меня есть меню разбивки на страницы PHP.Каждый элемент меню разбивки на страницы содержит элемент.Сценарий разбивки на страницы:
if ($page_count >= 1 && $page <= $page_count) {
?><li class="page-item <? if($page == 1){echo "active";} ?>"><? echo '<a onclick="myScript(1)" class="page-link">1</a></li>';
$i = max(2, $page - 2);
if ($i > 2)
{
echo ' ... ';
}
for (; $i < min($page + 2, $page_count); $i++) {
?><li class="page-item <? if($i == $page){echo "active";} ?>"><? echo '<a onclick="myScript('. $i .')" class="page-link">' . $i . '</a></li>';
}
if ($i != $page_count)
{
echo ' ... ';
}
?><li class="page-item <? if($page_count == $page){echo "active";} ?>"><? echo '<a onclick="myScript('. $page_count .')" class="page-link">' . $page_count . '</a></li>';
}
Когда пользователь щелкает элемент списка <a>
, я хочу получить значение выбранного элемента и создать сеанс PHP, содержащий этот элемент.Это Javascript, который должен создать сеанс:
function myScript(clicked_id)
{
<? $_SESSION["page"] = "clicked_id"; ?>
alert(<? echo "$_SESSION[page]"; ?>);
}
Это работает, и в предупреждении Javascript я получаю правильное значение выбранного элемента, например «2», если я щелкнул элемент списка, гдезначение $ i равно «2».
Страница должна обновиться, а затем, когда я проверяю значение сеанса страницы, я ожидаю значение «2».Однако, это не так.Значение на самом деле "clicked_id".
Это код, где я проверяю сеанс:
$page = 1;
if(!empty($_SESSION["page"])) {
$page = $_SESSION["page"];
if($page == 'clicked_id')
{
$page = 1;
}
}
Мой вопрос: почему сеанс не содержит правильное значение?В предупреждении значение верное, но в моей проверке сеанс больше не содержит правильное значение.Любая помощь очень ценится!