$page = $_GET['page'] ? intval($_GET['page']) : 1;
является краткой формой для
if($_GET['page'] !== null){ $page = intval($_GET['page']); }else{ $page = 1; }
Таким образом, существует как минимум два источника ошибок."$ _GET ['page']" может быть не задано, что приведет к 1. В этом случае также может быть причина ошибки неизвестной переменной.
Это может быть строка, приведенная к 1 -в этом случае ошибки не выдаются.
Для ваших нужд имеет больше смысла проверять существующую переменную, такую как mrustamzade предлагаемый.
Я бы также проверил на наличиечисло, подобное этому
if(isset($_GET['page']) && is_numeric($_GET['page'])){
$page = intval($_GET['page']);
}else{ $page = 1; }
echo "current page : ".$page."<br/>";