No entendí bien lo que pretendes hacer ..
Hay otro detalle más sobre las sesiones. El valor -real- de una variable de sesión sólo estará disponible en la próxima recarga de página o petición (a otro script que lo leas allá, etc). Es decir, esto no es "legalmente correcto":
$_SESSION['cabecera'][0]=y darle valor ...
Para luego en el mismo script (proceso y flujo del script) .. usar o acceder a:
$_SESSION['cabecera'][0]
Insisto que no entendí cual es la finalidad del código (por qué está fuera de contexto .. por qué no veo el "flujo" del mismo .. en fin .. ). Lo que "suele" ser muy común hacer en caso donde "o tomas el valor que te llega de un URL/formularo .. o tomas el que puedas tener en una variable de sesión" .. sería algo tipo:
Código PHP:
<?
session_start();
if (isset($_SESSION['cabecera'][0])){
$variable1=$_SESSION['cabecera'][0];
} else {
$variable1=$_POST['nombDire'];
}
<input type="text" id="idNombDire" name="nombDire" value="<?=$variable1?>" size="30" class="inputText" >
No sé si el orden será el correcto o no tiene nada que ver con lo que planteas .. Pero, lo que estoy seguro es del uso de sesiones que haces no es correcto o "real".
Un saludo,