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

时间:2014-04-15 06:59:26

标签: javascript php jquery codeigniter checkbox

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

以下是我在视图页面中的代码:(我在注册按钮之前将其添加到所有字段的底部)

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']  

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

列'terms'不能为null

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”的列,将其设置为文本类型,没有默认值。

请帮我解决这个问题。

谢谢!

2 个答案:

答案 0 :(得分:0)

问题1: 你是否在/ terms_and_conditions&#34;中创建了页面&#34; ?确定吗?

控制器名称:

行动名称:terms_and_conditions

问题2: 您已将复选框命名为&#34; terms&#34;。那么,你应该得到如下的发布值

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

问题3: 设置&#34;术语&#34;列默认值为&#34; NULL&#34;

答案 1 :(得分:0)

我看到三个问题:

  1. 您没有回显site_url功能的结果。只需将echo放在它前面。

  2. 如果$post_obj是HTML输入的&#39; $ _ POST array you have to use the name`属性,则为:

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

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