Блин, цирк. Если флажок установлен, на сервер передается переменная $_REQUEST['agree'] = ' Off'. Ты ее сравниваешь со строкой ' off'. Вполне логично, что 'Off' != 'off' поэтому $error=true.
Если флажок не выставлен, переменная $_REQUEST['agree'] не определена. Сравнивать undefined переменную с чем бы то ни было - глупое занятие. Всегда будет false. Т.е. если пользователь не выставил флажок, то по твоей логике, $error=false, т.е. пользователь согласен с соглашением.
Ты изменил логику с точностью до наоборот.
И вообще, так никто не делает. Нет никакой необходимости сравнивать $_REQUEST['agree'] с чем бы то ни было. Если флажок установлен, переменная $_REQUEST['agree'] определена. Если флажок не выставлен -- перменная не определена
|