在Codeigniter中使用注册表单中的复选框时出现问题


Issue in using checkbox in sign up form in Codeigniter

我的注册表单以前运行良好。然而,在注册成功之前,我必须添加一个接受页面或条款和条件。我认为最好将其包含在注册页面中,而不是在注册后(在显示会员主页之前)。问题是,它有很多问题。它工作不正常。

这是我在视图页面中的代码:(我在注册按钮之前的所有字段底部添加了这个)

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/>

现在,它似乎工作得很好(验证中内置的代码点火器会提示一条消息,告诉用户在继续操作之前单击)。问题是1。链接("在/terms_and_conditions中")未正确显示。每当点击相应的文本时,它不会显示正确的页面,而是打开一个新的注册页面。第二个问题是存在以下错误:消息:未定义的索引:模型中的c_terms行号:24第24行是这样的:

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

我试图将其添加到我的数组中。它真的正确吗?显示的第二个错误是:

列"terms"不能为空

INSERT INTO `client` (`first_name`, `last_name`, `email_address`, `password`, `address`, `tagline`, `profile`, `interests`, `billing_mode`, `terms`) VALUES ('dsfhkds', 'hfdskhflk', 'test@yahoo.com', '123456', 'fsdkfhsdk', 'sdkfhsdkf', 'sdklhfslkdhflsdhf', 'kdslhflks', 'Escrow', NULL)

我对原始表所做的是添加了名为"terms"的列,并将其设置为文本类型,没有默认值。

请帮我解决这个问题。

谢谢!

第1期:您是否在/terms_and_conditions中创建了页面?确保

控制器名称:在中

操作名称:terms_and_conditions

第2期:您已将复选框命名为"terms"。然后,你应该得到如下

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

第3期:将"terms"列默认值设置为"NULL"

我看到三个问题:

  1. 您没有回显site_url函数的结果。只要把echo放在它前面。

  2. 如果$post_obj是作为关键字的HTML输入的"$_POST array you have to use the名称"属性:

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

  3. 您的问题是没有将任何文本设置为保存在terms中。将其添加到$this->db->insert('table', $data)的第二个参数中,如下所示:$data['terms'] = '...'