Моя форма регистрации ранее работала хорошо. Тем не менее, мне пришлось добавить страницу подтверждения или условия, прежде чем регистрация может быть успешной. Я подумал, что было бы лучше включить его на странице регистрации, а не после регистрации (перед тем, как быть представленным на главной странице участника). Проблема в том, что у нее много проблем. Он работает неправильно.
Здесь мой код на странице просмотра: (я добавил это внизу всех полей перед тем, как зарегистрировать кнопку)
Please proceed only if you accept our <a target="blank" href="<?php site_url("in/terms_and_conditions");?>">terms and conditions</a>.
<input type='checkbox' name='terms' value='checked' id='terms' required autofocus/><br/>
Прямо сейчас, кажется, он работает нормально (codeigniter, встроенный в валидацию, вызывает сообщение, сообщающее пользователю щелкнуть, прежде чем он сможет продолжить). Проблема 1. Ссылка ("in/terms_and_conditions") не отображается должным образом. Всякий раз, когда нажимается соответствующий текст, вместо того, чтобы показывать соответствующую страницу, он просто открывает новую страницу регистрации. Второй проблемой является наличие ошибок следующим образом: Сообщение: Неопределенный индекс: c_terms в модели Номер строки: 24 Строка 24:
'terms'=> $post_obj['c_terms']
Я попытался добавить это в свой массив. Это было правильно? Вторая ошибка:
Колонка "условия" не может быть нулевой
INSERT INTO 'client' ('first_name', 'last_name', 'email_address', 'password', 'address', 'tagline', 'profile', 'interests', 'billing_mode', 'terms') VALUES ('dsfhkds', 'hfdskhflk', '[email protected]', '123456', 'fsdkfhsdk', 'sdkfhsdkf', 'sdklhfslkdhflsdhf', 'kdslhflks', 'Escrow', NULL)
То, что я сделал с моей исходной таблицей, - это добавить столбец, который я назвал "термины", установить его в текстовый тип и значение по умолчанию.
Пожалуйста, помогите мне исправить это.
Благодарю!
Выпуск 1: Вы создали страницу "in/terms_and_conditions"? убедиться?
Имя контроллера: в
Название действия: terms_and_conditions
Выпуск 2: вы назвали флажок как "условия". то вы должны получить опубликованное значение следующим образом
'terms'=> $post_obj['terms']
Проблема 3: Задайте значение по умолчанию для столбцов "terms" как "NULL"
Я вижу три проблемы:
Вы не повторяете результат функции site_url
. Просто поставьте echo
перед ним.
Если $post_obj
является вашим array you have to use the
$ _POST, array you have to use the
атрибут name для ввода HTML в качестве ключа:
'terms' => $post_obj['terms']
Ваша проблема заключается в том, что вы не устанавливаете какой-либо текст для сохранения в terms
. Добавьте его ко второму параметру $this->db->insert('table', $data)
следующим образом: $data['terms'] = '...'