test.php 通过ajax传值给save.php   ; 然后edit.php 通过session调用save.php的值 ?请问这样为什么不行?谢谢!test.php
<SCRIPT type="text/javascript" src="js/jquery-1.3.2.min.js"></SCRIPT>  
<SCRIPT type="text/javascript">
$(document).ready(function(){  
 
 });  
function edit(id){ 
$.ajax({              
type: "POST",              
url: "save.php",              
//data:"editid="+$("#"+id).val(), 
data:"editid="+id, 
//success: function(msg){ if(msg==1) alert("hi"); }        
});    

</SCRIPT><a href='edit.php'  > 
<img src='../images/edit.png' onclick="edit(this.id)" id="hihello" title='编辑' alt='编辑'/> 
</a>save.php
<?php
session_start(); 
$_SESSION['editid'] = $_POST['editid'];
?>edit.php
<?php
session_start(); 
$editid = $_SESSION['editid'] ;
echo  $editid;  //正常情况应该显示 id的值"hihello" ,但有问题???
?>

解决方案 »

  1.   

    你直接在save.php中, 把print_r($_SESSION['editid']);打印出来, 看有没值,如果没, 再跟贴
    或者试试改$_SESSION['editid'] = $_POST['editid']; 为 $_SESSION['editid'] = $_REQUEST['editid']; 
      

  2.   

    //在这一个文件中定义了一个session变量
    save.php 
    <?php 
    session_start(); 
    $_SESSION['editid'] = $_POST['editid']; ==》请注意这块:传输session变量默认为$_GET方式,所以我觉得是传输数据的方式用的不对,如果是用post方式提交数据,那么在下面一个文件中应该怎样提取呢?
    ?> 
    //在此文件中接收session变量
    edit.php 
    <?php 
    session_start(); 
    $editid = $_SESSION['editid'] ; 
    echo  $editid;  
    ?>给你举个小小的例子:
    在一个文件中定义一个session变量:
    //login.php
    <?
      session_start();
      $_SESSION['ssname']=$xm;//此处的提交方式默认为get方式提交
    ?>
    //在checkLogin.php这个文件中对session变量进行验证
    <?
      session_start();
      $xm = $_SESSION['ssname'] ; 
      echo  $xm; 
    ?>
    这样就可以了,你的提交数据的方式有问题,或者说用post方式提交数据,不能用你那种方式提取数据。
      

  3.   

    谢谢两位的回复!
    既不是REQUEST也不是GET这方面的问题!换了个思路解决了,但没搞清楚以上这样不行的原因!期待中.....