Вообщем хочу сделать регистрацию со следущим алгоритмом-юзер ввел данные в форму, если данные введены корректно ему на почту отправляется код, далее загружается форма для ввода кода, я ввожу код в поле, далее если он совпадает с тем кодом который мне пришел на почту то загружается что-то..... Вот, программа не работает на этапе когда я отправляю форму с введенным кодом для валидации. Вместо того чтобы написать все ок, меня выкидывает но форму регистрации. Пробовал всевозможные варианты и нихрена( Может кто подскажет по делу что не так. Код (Text): if($this->form_validation->run()==false) { $this->load->view('registration'); } else { $mail=$this->input->post('email'); $code=rand(100,999); mail($mail,'код авторизации',$code); $this->load->view('check_box'); if(isset($_POST['check']))//если нажата кнопка отправки формы с введенным кодом { $data=$_POST['code'];//поле в которое ввожу код echo $data==$code?'все ок':'все херово'; } }
А что говорит о валидации документация framework'а который ты используешь? Может не все условия выполняешь, перепроверь.
Да не,с правилами валидации вск норм и если к примеру не загружать отдельную форму для ввода кода а сразу писать данные из формы регистрации в бд,то все работает. Я раз 100 просматривал код,алгоритм прохода программы,вроде ж все просто но что то не работает
Если я правильно получаю информацию из телепатического поля(нет всего кода), то чтобы запустить if(isset($_POST['check'])) тебе нужно отправить данные для регистрации + код проверки (одновременно), тут ошибка в логике. Попробуй код проверки проверять на другой странице.
Уточню- пост чек это уже кнопка отправки формы с кодом которая отдельно грузится после того как форму регистрации отправлена
И что она грузится? Главное что она грузится после отправки регистрации и чтобы отправить код нужно опять отправить форму регистрации + код проверки, это как-то не логично.
Так никто и не делает. Я отправляю сначала форму регистрции, после загружается форма для кода, я отправляю и эту форму и тут вместо того чтобы произошло чудо,после отправки формы кода, какого то х.. грузит форму регистрации заново и скрипт дальше не идет
Когда ты отправляешь форму с кодом, форма с регистрацией отправляется? Потому что я вижу такую логику, чтобы сработала проверка кода, должна быть отправлена форма регистрации одновременно с кодом проверки.
Та нет) сначала я отправляю регистрацию и потом уже только грузится форма с одним полем для кода. Мне ж надо сначала с регистрации вытащить мыло и только потом уже на это мыло я отправляю код.поэтому о быть форма регистрации->форма кода->занесение данных юзера в бд, а по факту получается форма регистрации->форма кода->форма регистрации Добавлено спустя 1 минуту 39 секунд: хммм в каком участке кода это видно
чтобы $reg_valid была true нужно отправить форму регистрации, когда ты отправляешь код проверки то $reg_valid = false так как форма регистрации не валидна, а не валидна так как ты её не отправляешь. Код (PHP): <?php $reg_valid = false; $check = true; if($reg_valid == false) { echo 'форма регистрации'; } else { echo 'форма отправлена'; if($check == true) { echo 'принят проверочный код'; } } ?>
Ааа я понял о чем ты. Убирал все правила валидации но безрезультатно. Добавлено спустя 4 минуты 45 секунд: Завтра на свежую голову подумаю. Но согласен,что скорее всего надо смотерь в чторону учловий загрузки формы регистрации.Ведь я когда я нажимаю отправить форму с кодом,я прогоняю программу заново и она упирается в то что форма регистрации не определена
Запихни это в другой action, туда сделай redicrect после mail Код (PHP): $this->load->view('check_box'); if(isset($_POST['check']))//если нажата кнопка отправки формы с введенным кодом { $data=$_POST['code'];//поле в которое ввожу код echo $data==$code?'все ок':'все херово'; }
переписал код таким макаром, и вроде все норм стало кроме одного-несмотря на то что пришлось юзать глобалс, во второй функции переменная $GLOBALS не инициализирована и мне всегда выдает ответ bad. В чем ошибка? Добавлено спустя 41 минуту 53 секунды: не работает видимо опять из за того что скрипт перезапускается. можно тогда попробовать в бд его(код) хранить что ли или кук
Если честно, то я не понял совета.сделай редирект-вызвать фунуцию redirect? Action- это функция или что?! То есть в моем понимании это перекинуть на другую функцию или как?