0

我试图通过触发事件来更新$_SESSION['state']用户点击锚标记的时间。onclick该变量$state_names_array作为特定国家/地区的所有州名。但问题是,无论我点击哪个锚标记,$_SESSION['state'] $state_names_array 的最后一个元素总是会更新。

<?php
foreach($state_names_array as $value){
    $temp = '<?php $_SESSION["state"]=$value;?>';
    ?>
    <a href="index.php" onclick="document.write('<?php $_SESSION['state'] = $value ?>')"><?php echo $value ?></a><br>
    <?php
}
?>
4

1 回答 1

0

我不会编写整个代码,我只会向您展示一个示例,如何做到这一点:

<?php
    foreach ($state_names_array as $value) {
        echo '<a href="index.php" onclick="change_value('.$value.');">'.$value.'</a><br>';
    }
 ?>

然后你将拥有javascript函数change_value

在这里,您将发送 ajax 调用到一些 PHP 文件,您将在其中处理$_SESSION["state"]=$value;

$_SESSION["state"]你也没有说,点击锚点后你想要什么,因为你只有在刷新你的网站后才能访问新的......

另外,也许您只是想在单击某个锚点后重定向到 index.php,这对您来说就足够了,然后只需使用 value 作为 $_GET 参数,fe:

<?php
    foreach ($state_names_array as $value) {
        echo '<a href="index.php?new_value='.$value.'">'.$value.'</a><br>';
    }
?>

并将以下行添加到 index.php 文件中:

if (isset($_GET['new_value'])) {
    $_SESSION["state"] = $_GET['new_value'];
}
于 2013-10-28T15:59:20.393 回答