2013-04-05 2 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

+0

Нет необходимости для этого '. ''' в конце 'header()'. – msanford

ответ

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

+1

Спасибо за указание на это, отредактировал мой ответ для полноты. –

+0

Вам не нужно '$ страница = $ страница ++': как операторы инкремента и декремента присвоить значение, просто '$ страница ++,' будет достаточно. – msanford

Смежные вопросы