if (empty($_GET['pag']) or is_string($_GET['pag']) or $_GET['pag']<1) $pagina = 1;
else {
$pag = $_GET['pag'];
}

..

che diventa come l'havevi fatta prima se ho capito bene dovrebbe essere $pag = $_GET['pag']; quando $_GET[pag']>=0 oppure è true?