php - 无法将唯一 session 值从一个页面传输到另一个页面

标签 php mysql session

我创建了一个应用程序,我想将唯一值/id 从一个页面传输到另一个页面。我在这个过程中使用了 session 。

代码如下:

<?php session_start();?>
   <?php
#php code to get values
include_once "process/config.php";
$sql = "select * from posts";
static $i=0;
$result = mysqli_query($conn,$sql);
if($result->num_rows > 0){
while($rows = $result->fetch_assoc()){  
$_SESSION["post_row_id"] = $rows["id"]; #Storing post id for updation.
echo $_SESSION["post_row_id"];
?>         

        <tr class="gradeA">
            <td><?php echo ++$i; ?></td>

    <td><u><a onmouseover="this.style.color='blue'" onmouseout="this.style.color='black'" href="post_action.php">
    <?php echo $rows["post_title"]; ?></a></u></td>

        </tr>                                       
  <?php
    }

}
?>   

我想使用 $_SESSION["post_row_id"] 将 row_id 转移到 post_action.php 页面,但每次我点击 anchor 标记时,最后一个 id 被转移到下一页。 但是当我回显 $_SESSION["post_row_id"] 时,会显示所有唯一值。

注意: 我通过在 anchor 标记中传递 id 来做到这一点,它工作正常。但是在 URL 中显示了值,任何人都可以更改该值并传递一些其他数据。 Session 在那个时候是安全的,所以我试图用 session 来做

最佳答案

To stick with your original code,
you can pass parameters on your <a href> tag, 
by adding something like this to your url,

<a href="post_action.php?rows_id=$rows_id"></a>

 if your goal is just to pass that id to another page,  you may remove the session since its no longer needed since the id is already passed on your url,


<?php session_start();?>
           <?php
        #php code to get values
        include_once "process/config.php";
        $sql = "select * from posts";
        static $i=0;
        $result = mysqli_query($conn,$sql);
        if($result->num_rows > 0){
        while($rows = $result->fetch_assoc()){  
        $_SESSION["post_row_id"] = $rows["id"]; #Storing post id for updation.
        echo $_SESSION["post_row_id"];
        ?>         

                <tr class="gradeA">
                    <td><?php echo ++$i; ?></td>

            <td><u><a onmouseover="this.style.color='blue'" onmouseout="this.style.color='black'" href="post_action.php">
            <?php echo $rows["post_title"]; ?></a></u></td>

                </tr>                                       
          <?php
            }

        }
        ?>   

关于php - 无法将唯一 session 值从一个页面传输到另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43863364/

相关文章:

php - 删除表时出现 SQL 语法错误

php - 使用 MYSQL 和下拉菜单

javascript - Ajax 响应后显示弹出警报

javascript - PHP session 变量在新页面上消失?

ASP.Net 使用状态服务器和缓存增加 MaxProcesses(网络花园)

php - 当数据库中只有一个条目时,SQL 查询返回重复项

Java MySQL jdbc vs Hibernate 实现 Select 查询

java.sql.SQLException : Connections could not be acquired from the underlying database 异常

mysql - Homestead 3.3 - 未找到数据库 - 应用程序运行正常

jsf - 获取客户端使用jsf中的同一 session 发送请求的最后访问时间?