php
2015-10-19 125 views 0 likes 
0

第一部分现在没有任何问题。如何在php中设置会话变量的ID

<?php 
    session_start(); 
    while($row = $result->fetch_assoc()){ 
    echo "<div id='name' style='margin-top:50px;'><h2>" . $row['name'] . "</h2>"; 
    echo "<a href='nextPage.php'><img class='pic' src='".$row['imageURL']."' data-id='".$row['id']."' height='100px'/></a></div>"; 
    echo "<div id='bio' style='border-bottom:1px solid #000;'><p>" . $row['bio'] . "</p></div>"; 
    } 
?> 

<script type="text/javascript"> 
    $(document).on('click', '.pic', function(){ 
    var id = $(this).data('id'); 
    $.ajax({ 
     type: 'POST', 
     url: 'setSession.php', 
     data: {myId: id} 
    }); 
    }); 
</script> 

后,我单击图像我只是让PHP错误信息,告诉我有一个未定义的变量。我目前有'setSession.php'作为一个单独的页面,不知道它是否应该是。

**Next Page** 

    <?php 
    session_start(); 
    include("connect.php"); 

    $result = mysqli_query($con, "select * from table"); 

    mysqli_close($con); 
?> 
<!doctype html> 
<html> 
    <head> 
     <title></title> 
    </head> 

    <body> 
     <div class="wrapper"> 
     <img src="<?php echo $row['imageURL'];?>" height="200px"/><br/> 
     <div class="textSection" style="text-align:center;"> 
      <h2><?php echo $row['name'];?></h2> 
      <p> 
      <?php echo $row['bio'];?> 
      </p> 
     </div> 
     </div> 

    </body> 
</html> 
+2

'$ _SESSION ['key']'? – Tushar

回答

0

将数据属性data-id和改变idsclass因为ids应该是唯一的,像这样:

<img class='pic' src='" . $row['imageURL'] . "' data-id='" . $row['id'] . "' height='100px'/></a></div>"; 

并利用其与AJAXclass一起设置请求data id到寄存器click handlerimgsession变量如下:

$(document).on('click', '.pic', function() { 

    var id = $(this).data('id'); // get id value from data-id attribute 
    $.ajax({ 
    type : 'POST', 
    url : 'setSession.php', 
    data : { 
     myId : id 
    }, 
    success : function(msg) { /* do something here for success request */ } 
    }); 
}); 

最后。在setSession.php页面:

<?php 
    session_start(); 
    $_SESSION['id'] = $_POST['myId']; // this come from ajax request 
    echo "something"; // and this will available on ajax success callback 
?> 
+0

我尝试了你的建议,没有错误,直到我的'nextPage.php'加载,信息加载失败。 'setSession.php'代码是否需要分开或是我'nextPage'的一部分? – SmurfCode

+0

分享你迄今为止完成的代码。 –

1

首先,您应该像这样开始在该页面中进行会话。

session_start(); 

然后像这样访问会话变量。在img标签

$_SESSION['your_key_here'];// this will return the value stored in session. 
相关问题