Como dice Cluster, deberias aportar más datos.. podemos especular muchas cosas.
En tu base de datos sí te lo guarda como "sí"? ó desde allá está el problema?...
En el caso de "no" ningún problema??..
Cómo imprimes en pantalla?
... Por qué no recojes por el METHOD de tu formualrio?? (POST ó GET)
Haz probado algo tan simple como
if(['algo')=="on") { echo "no"; } 
...
(ojo, me encuentro en una PC que no es la mia... está mal configurado el teclado y por ello no encontré el cirre de '['
.. pero me entendiste ¿no?)