php
2015-10-19 59 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. 
相關問題