Acho que você está errando um pouco na lógica nos nomes dos campos, tente da seguinte maneira.
<label>ver</label>
<input type="checkbox" name="pagina[<?php echo $pagina ?>][ver]" value="1">
<label>adicionar</label>
<input type="checkbox" name="pagina[<?php echo $pagina ?>][adicionar]" value="1">
<label>editar</label>
<input type="checkbox" name="pagina[<?php echo $pagina ?>][editar]" value="1">
<label>excluir</label>
<input type="checkbox" name="pagina[<?php echo $pagina ?>][excluir]" value="1">
<input type="hidden" name="pagina" value="<?php echo $nomePagina ?>">
Quando você der um submit, automaticamente, virá na variável $_POST, os checkboxes que foram escolhidos, segue um exemplo de como deve ficar a parte para pegar os valores correto:
<?php
// $_POST['pagina'][2]['ver'] = 1;
// $_POST['pagina'][2]['editar'] = 1;
// $_POST['pagina'][4]['ver'] = 1;
foreach ($_POST['pagina'] as $pagina_id => $pagina) {
// Valores padrões para da o submit
$default = array(
'ver' => 0;
'adicionar' => 0,
'editar' => 0,
'excluir' => 0,
);
foreach ($pagina as $permissao_nome => $permissao_valor)
$default[$permissao_nome] = $permissao_valor;
}
// INSERT OS VALORES DA VARIÁVEL DEFAULT
}
?>
Não testei a função, mas deve funciona muito, é um caminho para você começar.
Espero ter ajudado.