我在這裏很難過。我有2個PHP頁面。一個實質上顯示模板,點擊後,一個AJAX調用調用一個外部頁面並顯示所有必要的信息。我的問題是我的會話變量沒有更新。我正在使用一些分頁和數字不更新。我的模板頁面上的一些代碼:AJAX調用後會話變量不會更新
Redndering分頁
session_start();
$pagination .= $_SESSION['position'] == "" ? '' : 'Items '.$_SESSION['position'].'-'.$_SESSION['item_per_page'].' of '.$get_total_rows ;
if($pages > 1)
{
$pagination .= '<ul class="paginate nav nav-pills">';
for($i = 1; $i<=$pages; $i++)
{
$pagination .= '<li><a href="#" class="paginate_click" id="'.$i.'-page">'.$i.'</a></li>';
}
$pagination .= '</ul>';
}
<?php echo $pagination; ?>
<div id="results">
<!-- Results from query will go in here -->
</div>
j$(".paginate_click").click(function (e) {
j$("#results").prepend('<div class="loading-indication"><img src="/assets/loader.gif" /></div>');
var clicked_id = j$(this).attr("id").split("-"); //ID of clicked element, split() to get page number.
var page_num = parseInt(clicked_id[0]); //clicked_id[0] holds the page number we need
j$('.paginate_click').removeClass('active'); //remove any active class
//post page number and load returned data into result element
//notice (page_num-1), subtract 1 to get actual starting point
j$("#results").load("development_fetch.php", {'page': (page_num-1)}, function(){
});
j$(this).addClass('active'); //add active class to currently clicked element
return false; //prevent going to herf link
});
在development_fetch.php
:
session_start();
$page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH);
$position = ($page_number * $item_per_page);
$_SESSION['position'] = $position;
$_SESSION['item_per_page'] = $item_per_page;
//Grab code to display inside template blah.
如果您在點擊分頁第1頁上,應該導致:
項目0 - 100的1000
如果我點擊第2頁,它應該是:
項目100 - 200 1000
而是它只是停留在:
項目0 - 100 1000
0是 100是$_SESSION['item_per_page']
我不明白爲什麼它沒有更新。請幫助堆垛機!
'session_start();'請在**每**頁面上。 – Sharky
忘記喲提及,session_start()在每一頁 –
你可以從ajax返回一個'print_r($ _ POST);'來查看實際上到達ajax的內容嗎? – Sharky