Te pongo un ejemplo completo usando mi técnica y un checkbox ..
formulario.php
Código PHP:
<?
session_start(); // incio uso sessiones
$variables=$_SESSION['variables']; // leeo el array con mis variabels del $_POST .. si lo envié ..
session_unregister('variables'); // Elimito variables de la sesion.
?>
<form action="procesa_formulario.php" method="post">
<input type="text" name="variable" value="<?php echo $variables['variable']; ?>">
<input type="checkbox" name="micheckbox" value="marcado" <? if ($variables['micheckbox']=="marcado"){echo " checked ";} ?> >
<input type="submit" name="medaigual" value=" Probar ">
</form>
procesa_formulario.php
Código PHP:
<?
session_start();
$_SESSION['variables']=$_POST; // guardo el array POST ...
//validas tus variables $_POST['eso'] .. etc del formulario ...
// Si no se cumplen tus validaciones:
if ($_POST['variable'] != "probando"){
header("location: formulario.php");
exit;
}
echo "Validación correcta.<br>";
echo "El valor del checkbox nombre: michecbox es -> ".$_POST['micheckbox'];
?>
Fijate bien en la definición del CHECKBOX .. Si indicas value="algo" .. el checbox tendrá ese valor (esto es HTML no PHP) .. Si no le indicas value= .. solo obtendras un TRUE o FALSE dependiendo si está seleccionado o nó ..
Por lo tanto esa línea se podría quedar en:
Código PHP:
<input type="checkbox" name="micheckbox" <? if ($variables['micheckbox']){echo " checked ";} ?> >
Tambien veo q en tu código usas una función por ahí: marked() .. supongo q es javascript? .. El caso que para preseleccionar el estado de un checkbox . se puede hacer simplemetne con HTML y el parámetro 'checked' ...
Para que lo pruebes .. en el campo input indica: probando para que veas como pasa la validación .. y cualquier otra cosa para que veas como se recoge el valor de ese "input" y del estado que tengas en el checkbox ..
Un saludo,