2013-04-05 47 views
0

我正在使用一個小部件,允許我在一些事件後執行回調PHP函數。php回調函數到下一頁

我想要一個php函數,可以讓我使用GET方法轉到下一頁。

mypage.php?page=1 

mypage.php?page=2 

mypage.php?page=3 

等等...

我因子評分的東西像

$page = mysql_real_escape_string($_GET['page']); // ==0 if no $_GET['page'] 
function next_page($page) { 
    header('Location: mypage.php?page='.++$page.'');} 

我知道使用標頭可能會很棘手。這可能很明顯,但我更喜歡可靠和可擴展的東西。也許如果我可以執行javascript.location腳本。有什麼建議麼?

+0

'$ ++可能page'需'$頁++' – Class 2013-04-05 02:24:12

+0

無需在'header()'末尾加'''''。 – msanford 2013-04-05 02:39:40

回答

2
$page = 0; 
if(isset($_GET['page'])) 
    $page = intval($_GET['page']); 

function next_page($page) { 
    $page ++; 
    header('Location: mypage.php?page='.$page); 
    exit; 
} 

標題不應該被認爲是棘手的。在使用之前,您必須確保沒有輸出發送到瀏覽器。

1

重新分配$頁第一則追加它:

$page = isset($_GET['page']) ? intval($_GET['page']) : 0; 

然後在你的函數簡單調用

$page++; 
header('Location: http://address-to-page/?page=' . $page); 
+0

這將返回'$ page'的值,然後*然後*增加它,所以肯定不會http://php.net/manual/en/language.operators.increment.php – msanford 2013-04-05 02:26:43

+1

感謝您指出,編輯我的答案爲了完整性。 – 2013-04-05 02:33:01

+0

你不需要'$ page = $ page ++':因爲遞增和遞減操作符賦值,只需'$ page ++;'就足夠了。 – msanford 2013-04-05 02:37:09