Проблема в использовании флажка в форме регистрации в Codeigniter

0

Моя форма регистрации ранее работала хорошо. Тем не менее, мне пришлось добавить страницу подтверждения или условия, прежде чем регистрация может быть успешной. Я подумал, что было бы лучше включить его на странице регистрации, а не после регистрации (перед тем, как быть представленным на главной странице участника). Проблема в том, что у нее много проблем. Он работает неправильно.

Здесь мой код на странице просмотра: (я добавил это внизу всех полей перед тем, как зарегистрировать кнопку)

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)

То, что я сделал с моей исходной таблицей, - это добавить столбец, который я назвал "термины", установить его в текстовый тип и значение по умолчанию.

Пожалуйста, помогите мне исправить это.

Благодарю!

Теги:
codeigniter
checkbox

2 ответа

0
Лучший ответ

Выпуск 1: Вы создали страницу "in/terms_and_conditions"? убедиться?

Имя контроллера: в

Название действия: terms_and_conditions

Выпуск 2: вы назвали флажок как "условия". то вы должны получить опубликованное значение следующим образом

'terms'=> $post_obj['terms'] 

Проблема 3: Задайте значение по умолчанию для столбцов "terms" как "NULL"

  • 0
    Спасибо за ваш ответ. когда я изменил значение по умолчанию на NULL, я получил ошибку. ну, вероятно, потому что я установил тип в БД как текст, что это должно быть вместо
  • 0
    О, это работает сейчас, спасибо!
Показать ещё 1 комментарий
0

Я вижу три проблемы:

  1. Вы не повторяете результат функции site_url. Просто поставьте echo перед ним.

  2. Если $post_obj является вашим array you have to use the $ _POST, array you have to use the атрибут name для ввода HTML в качестве ключа:

    'terms' => $post_obj['terms']

  3. Ваша проблема заключается в том, что вы не устанавливаете какой-либо текст для сохранения в terms. Добавьте его ко второму параметру $this->db->insert('table', $data) следующим образом: $data['terms'] = '...'

  • 0
    Привет, ответ № 1 эхо сработало. Спасибо! Я изменил то, что у меня было в моей форме регистрации, я назвал это "c_terms", я думаю, что это должно работать
  • 0
    После того, как я настроил echo и термины в c_terms в моей форме регистрации, теперь она работает хорошо. Thanksss!
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню