Php 在会话中存储阵列并检索所需值
下面的代码将post-id数组存储到会话中,并使用foreach迭代post-id和与该post-id相关的调用数据(title,body),效果很好 index.phpPhp 在会话中存储阵列并检索所需值,php,arrays,session,Php,Arrays,Session,下面的代码将post-id数组存储到会话中,并使用foreach迭代post-id和与该post-id相关的调用数据(title,body),效果很好 index.php $result = $query->fetchAll(PDO::FETCH_COLUMN, 0); $_SESSION['postid']=$result; foreach($_SESSION['postid'] as $key=>$postid){ $sql = "SELECT * FROM posts WHE
$result = $query->fetchAll(PDO::FETCH_COLUMN, 0);
$_SESSION['postid']=$result;
foreach($_SESSION['postid'] as $key=>$postid){
$sql = "SELECT * FROM posts WHERE postid=:postid";
$query = $db->prepare($sql);
$query->execute(array(':postid'=>$postid));
$row = $query->fetch(PDO::FETCH_ASSOC);
<a href="post.php"><?php echo $row['title']; ?></a>
<p><?php echo row['body'] ?></p>
}
$result=$query->fetchAll(PDO::FETCH_列,0);
$\会话['postid']=$result;
foreach($\会话['postid']作为$key=>$postid){
$sql=“从postid=:postid的帖子中选择*”;
$query=$db->prepare($sql);
$query->execute(数组(':postid'=>$postid));
$row=$query->fetch(PDO::fetch_ASSOC);
}
现在,我想通过点击索引页面中的
title
链接,直接进入帖子页面,并从点击标题的会话数组中调用特定的帖子id。使用$postid=$\u会话['postid']提供了post id的整个数组。是否有任何方法可以在帖子页面上启动会话,仅针对在索引页面上单击标题的特定帖子id。在index.php页面中,修改锚定标记,如下所示:
<a href="post.php?pistid='<?php echo $row['postid']; ?>'"><?php echo $row['title']; ?></a>
然后在post页面上使用此代码设置会话中的postid
<?php
$_SESSION['pid'] = isset($_GET['pistid'])$_GET['pistid']:null?;
?>
试试
谢谢,我们使用的是相同的,但很多人告诉我们不要通过url发送敏感数据,而只使用会话。是的。你是对的,但我认为posted不是敏感数据。我说的对吗?是的,但在允许用户发布硬写博客或类似内容的地方可能很敏感,url方法很快很简单,但我搜索像会话这样安全的东西。