无法将唯一会话值从一个页面传输到另一个页面

时间:2017-05-09 07:10:20

标签: php mysql session

我创建了一个应用程序,我希望将唯一值/ id从一个页面传输到另一个页面。我已使用会话进行此过程。

代码如下:

<?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
    }

}
?>   

我想将row_id转移到 $ _ SESSION [&#34; post_row_id&#34;] post_action.php 页面,但每次点击锚标记最后一个id转移到下一页。 但当我回显 $ _ SESSION [&#34; post_row_id&#34;] 时,会显示所有唯一值。

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

2 个答案:

答案 0 :(得分:0)

根据您的要求,您需要传递当前行唯一ID,因此请使用GET method. for security purpose validate it on server side

<a href="post_action.php?row_id=<?php echo $rows["id"]; ?>"<?php echo $rows["post_title"]; ?></a>

注意:您可以在会话中存储所有ID。但是您无法找到单击的行@JasshhAndrews

答案 1 :(得分:0)

 if($validation->fails()) {
    return redirect()->back()->withInput()->with('error', 'Please upload the image!');
  }