Si exacto, mediante un formulario con method=POST.
En el ejemplo que me has puesto...
Código PHP:
$opciones=array('opcion1','opcion2','opcion3');
foreach ($opciones as $valor){
echo "<input type=\"checkbox\" name=\"opcion[]\" value=\"".$valor."\">\n";
}
Estoy de acuerdo que en $_POST['opcion'] únicamente me guardará los elementos que se han seleccionado y por esto necesito obtener un array $opciones.
Ahora bien, el problema lo tengo en el array $opciones, porque no se como rellenarlo. Te comento mi caso:
Tengo una lista desplegable con un máximo de 7 opciones. Entonces dependiendo de las opciones, creo el formulario con tantos checkboxs como opciones elegidas. Estoy intentando guardar en un array supongamos $opciones, los valores del array checkbox pero únicamente me coge el valor del primer checkbox y me repite su valor tantas veces como opciones elegidas.
Una vez pueda conseguir los valores de todos los checkboxs en el array $opciones seguiría con lo que me has indicado.
Saludos.