我一直在研究php项目,我需要在重定向到result.php期间传递数据。这种方法有多安全,或者可以为我提供更好的替代方案
if($_POST['mygender'] && $_POST['sgender'] && $_POST['country'] && $_POST['town']){
$sgender= $_POST['sgender'];
$country= $_POST['country'];
$town= $_POST['town'];
$startage=$_POST['startage'];
$endage=$_POST['endage'];
$x=$functions->getX($country,$sgender,$town,$startage,$endage,$session_uid);
if($x){
/*How secure and perfomance effect is this line*/
$_SESSION['found']=$x;
header("Location:result.php");
}
else{
$reg_error="<span class='error' style='color:red;'>No match found</span>";
}
}
考虑到$ x是db结果?
我想使用会话中存储的数据来显示结果
<div class="search-list">
<?php $profile=$_SESSION['found'];
foreach ($profile as $key => $value) : ?>
<div class="four columns">
<div class="search-item">
<div class="avatar">
<img src="<?php echo $base_url."uploads/".$value['profile_bg'];?>" alt="Avatar">
</div>
<div class="search-meta">
<h5 class="author"><a href="#"><?php echo $value['first_name']." ".$value['last_name'];?></a></h5>
<p class="date"><?php echo $value['birthday']." |".$value['relationship']." |".$value['hometown']." |".$value['location'];?></p>
</div>
<div class="search-body">
<p><?php echo $value['bio'];?></p>
</div>
<p><a href="profile.html" class="small button radius secondary"><i class="icon-angle-right"></i> View profile</a></p>
</div>
</div>
<?php endforeach;?>
答案 0 :(得分:0)
假设您在会话中存储会话数据而不是cookie(这是默认行为),这种方法是完全可以的。 我会说你应该在每次使用后重新生成一个新的会话。
问题是你存储了多少数据? (因为数据存储在您的服务器上) 如果它很多,你可以通过cookie将其推回客户端,然后只需读取cookie数据......但是你的服务器每个请求会占用更多带宽,这对可扩展性有害(如果你关心,我怀疑它)因为你实际上正在使用php)。