Darkj hice lo que me dijiste sobre lo de fijarme si el script recogía correctamente los valores y estaba bien, además que la variable $opciones no la estaba relacionando con la matriz superglobal $_POST, también estaba iniciando mal el conteo del array que lo iniciaba de "1" cuando tenía que hacerlo desde "0", y finalmente en el while cambié "<=" por "<" y ahora va bien, gracias por la ayuda.
Saludos.
PD: andruqui, esa idea es buena, también la tengo presente, gracias