【发布时间】:2017-03-27 15:44:23
【问题描述】:
我遇到了问题。我试图在每次单击会话时保存不同的 id,但是当我从会话中获取它时,总是显示一个 id(i.e-the first saved one.)。我在下面解释我的代码。
<?php
foreach ($catdata as $v) {
?>
<div class="col-sm-3">
<a href="javascript:void(0)" class="<?php echo $classarr[$counter];?>" onClick="keepSection('<?php echo $v['id']; ?>');"><?php echo $v['name'] ?></a><!-- activemap1 -->
</div>
<?php
$counter++;
if($counter==4){
$counter=0;
}
}
点击锚标记时,相应的 id 将通过下面给出的 ajax 调用保存到会话中。
function keepSection(id){
var url="common.php?action=savecid";
$.post(url,{"cat_data":id},function(data){
var obj=JSON.parse(data);
console.log('data',obj);
if(obj.isData==1){
var v = jQuery("#fyndspaceownsec").validate({
});
if (v.form()) {
$(".frm").hide("fast");
$("#sf2").show("slow");
}
}
})
}
Common.php:
$action = $_REQUEST['action'];
$result=array();
if($action=='savecid'){
$id=$_POST['cat_data'];
session_start();
if(isset($_SESSION['cid']) && !empty($_SESSION['cid'])){
unset($_SESSION['cid']);
$_SESSION['cid']=$id;
$flag="true";
}else{
$_SESSION['cid']=$id;
$flag="false";
}
$result=array("isData"=>1,"cid"=>$_SESSION['cid'],"flag"=>$flag);
echo json_encode($result);
}
在这里,我将 id 存储到会话中。每次单击时,我都会清除会话并存储新 id。当我尝试获取它时,它只显示一个在每次单击后首先保存的 id。
<div class="fyndspacecategory fyndsheightsubc nano">
<div class="nano-content">
<?php
echo $_SESSION['cid'];
?>
我的完整代码如下。
<div class="fynd-space-itms">
<?php
$classarr = array("item-exhibitation maploc", "item-parking maploc", "item-offices maploc", "item-storage maploc");
$sql="select * from category order by id desc";
$catdata=$dbobj->db_get_data($sql);
$counter=0;
foreach ($catdata as $v) {
?>
<div class="col-sm-3">
<a href="javascript:void(0)" class="<?php echo $classarr[$counter];?>" onClick="keepSection('<?php echo $v['id']; ?>');"><?php echo $v['name'] ?></a><!-- activemap1 -->
</div>
<?php
$counter++;
if($counter==4){
$counter=0;
}
}
<button class="btn nextbtnbgdiv open2" type="button">Next <span class="fa fa-arrow-right"></span></button>
<div class="fyndspacecategory fyndsheightsubc nano">
<div class="nano-content">
<?php
echo $_SESSION['cid'];
?>
</div>
</div>
在这里,当用户点击next 按钮时,第二部分 div 部分将显示并从会话中获取 id。
假设第一次单击存储到会话中的id=16,echo 将打印值16,第二次单击存储到会话中的id=17,但这次echo 值即将到来@987654334 @这是我的问题。我需要在每次单击时删除旧 id 并存储新 id 并且每次单击后echo 应该打印新值。请帮助我。
【问题讨论】: