Javascript 会话在锚标记中不工作

Javascript 会话在锚标记中不工作,javascript,php,Javascript,Php,我将会话传递到循环中的下一页,在那里我得到$post_id的不同值,但是它似乎取1,并且没有改变 <?php include('dataconnect.php'); $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " .$conn->connect_error); }

我将会话传递到循环中的下一页,在那里我得到$post_id的不同值,但是它似乎取1,并且没有改变

<?php
include('dataconnect.php');
$conn = new mysqli($servername, $username, $password, $dbname); 
if ($conn->connect_error) {
    die("Connection failed: " .$conn->connect_error);
}                   
$sql = "SELECT * FROM user";
$result = $conn->query($sql);
if ($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 
        $post_id = "{$row['id']}"; 
        ?>

        <a href="comment.php?<?php $_SESSION['user_id'] = intVal($post_id);  ?>" >Comment</i></a>

    <?php } 
}  
$conn->close(); 
?>

在脚本开始时使用session\u start()函数

<?php
session_start();
include "dataconnect.php";
// do stuff...
?>

我更改了这个,希望对您有所帮助

 <a href="comment.php?session=<?php echo $_SESSION['user_id'] = intVal($post_id);  ?>" >Comment</i></a>


我已经启动了会话,即使我在下一页显示会话数据,但它显示相同的值。值没有变化。您应该在使用$\u SESSION变量的每个脚本(在开头)中使用该函数,或者在dataconnect.php(也在开头)中使用它。您希望为SESSION['user\u id']分配不同的值吗?您没有回显任何内容,所以锚标记中没有任何内容。为什么需要在URL中传递会话变量?下一页只能从会话中获取它。客户端可以伪造URL参数。在
while
循环中设置会话变量没有意义。您每次只是覆盖它,最终的值将来自查询返回的最后一行。现在还不清楚您要用这段代码做什么,这没有什么意义。