简体   繁体   English

Codeigniter中不允许的关键字符

[英]Disallowed Key Characters in Codeigniter

I have studying about disallowed key characters error in codeigntier. 我研究了有关Codeigntier中不允许的关键字符错误。 But, I think I dont have those characters in my form. 但是,我认为我的表单中没有这些字符。 May be I may be mistaken. 可能是我可能误会了。

My Form 我的表格

    <div class="container_part">

    <div class="container">

        <div class="row-fluid  maincontainer">

            <div class="mycontainer">
                <?php echo form_open('bookings/customerdetails'); ?>

                <div class="row-fluid">

                    <div class="span12 mainheading">

                        <hr>

                    </div>

                    <div class="row-fluid">

                        <div class="span6">

                            <div style="padding: 20px;">

                                <div>

                                    <select name="booking_form_customer_initial">

                                        <option value="Mr.">Mr.</option>
                                        <option value="Mrs.">Mrs.</option>
                                        <option value="Ms.">Ms.</option>
                                    </select>

                                </div>

                                <div>

                                    <input type="text" name="booking_form_customer_name" placeholder="Enter Full Name" class="span12" required="required" />

                                </div>

                                <div>

                                    <input type="text" name="booking_form_customer_phone" placeholder="Enter Phone Number" class="span12" required="required" />

                                </div>

                                <div>

                                    <input type="email" name="booking_form_customer_email" placeholder="Enter Email" class="span12" required="required" />

                                </div>

                            </div>
                        </div>

                        <div class="span6">

                            <div class="control-group select optional booking_form_pick_up_method">
                                <label class="select optional control-label" for="booking_form_pick_up_method">Delivery method</label>
                                <div class="controls">
                                    <select class="select optional form-refesher" id="booking_form_pick_up_method" name="booking_form_pick_up_method" required="required">
                                        <option value="">Select Delivery method</option>
                                        <option value="in_store">self_pick_up</option>
                                        <option value="courier">courier</option>
                                    </select>
                                </div>
                            </div>
                            <div data-observe="#booking_form_pick_up_method" data-visible-when="in_store" style="display: none">
                                <div class="control-group select optional booking_form_pick_up_location">
                                    <label class="select optional control-label" for="booking_form_pick_up_location">Pick up location</label>
                                    <div class="controls">
                                        <select class="select optional form-refesher" id="booking_form_pick_up_location" name="booking_form[pick_up_location]">
                                            <option value="1">Tsim Sha Tsui</option>
                                        </select>
                                    </div>
                                </div>
                            </div>
                            <div data-observe="#booking_form_pick_up_method" data-visible-when="courier" style="display: none">
                                <div class="control-group string optional booking_form_pick_up_courier_name">
                                    <label class="string optional control-label" for="booking_form_pick_up_courier_name">Contact Person</label>
                                    <div class="controls">
                                        <input class="string optional" id="booking_form_pick_up_courier_name" name="booking_form[pick_up_courier_name]" type="text" value="" />
                                    </div>
                                </div>
                                <div class="control-group string optional booking_form_pick_up_courier_addr">
                                    <label class="string optional control-label" for="booking_form_pick_up_courier_addr">Delivery Address</label>
                                    <div class="controls">
                                        <input class="string optional" id="booking_form_pick_up_courier_addr" name="booking_form[pick_up_courier_addr]"  type="text" value="" />
                                    </div>
                                </div>
                                <div class="control-group tel optional booking_form_pick_up_courier_phone">
                                    <label class="tel optional control-label" for="booking_form_pick_up_courier_phone">Contact Phone</label>
                                    <div class="controls">
                                        <input class="string tel optional" id="booking_form_pick_up_courier_phone" name="booking_form[pick_up_courier_phone]"  type="tel" value="" />
                                    </div>
                                </div>
                            </div>

                            <div class="control-group select optional booking_form_drop_off_method">
                                <label class="select optional control-label" for="booking_form_drop_off_method">Return Method</label>
                                <div class="controls">
                                    <select class="select optional form-refesher" id="booking_form_drop_off_method" name="booking_form_drop_off_method" required="required">
                                        <option value="">Select Return method</option>
                                        <option value="in_store">self_drop_off</option>
                                        <option value="courier">courier</option>
                                    </select>
                                </div>
                            </div>
                            <div data-observe="#booking_form_drop_off_method" data-visible-when="in_store" style="display: none">
                                <div class="control-group select optional booking_form_drop_off_location">
                                    <label class="select optional control-label" for="booking_form_drop_off_location">Drop off location</label>
                                    <div class="controls">
                                        <select class="select optional form-refesher" id="booking_form_drop_off_location" name="booking_form[drop_off_location]">
                                            <option value=""></option>
                                            <option value="1">Tsim Sha Tsui</option>
                                        </select>
                                    </div>
                                </div>
                            </div>
                            <div data-observe="#booking_form_drop_off_method" data-visible-when="courier" style="display: none">
                                <div class="control-group string optional booking_form_drop_off_courier_name">
                                    <label class="string optional control-label" for="booking_form_drop_off_courier_name">Contact  Person</label>
                                    <div class="controls">
                                        <input class="string optional" id="booking_form_drop_off_courier_name" name="booking_form[drop_off_courier_name]" type="text" value="" />
                                    </div>
                                </div>
                                <div class="control-group string optional booking_form_drop_off_courier_addr">
                                    <label class="string optional control-label" for="booking_form_drop_off_courier_addr">Return Address</label>
                                    <div class="controls">
                                        <input class="string optional" id="booking_form_drop_off_courier_addr" name="booking_form[drop_off_courier_addr]" type="text" value="" />
                                    </div>
                                </div>
                                <div class="control-group tel optional booking_form_drop_off_courier_phone">
                                    <label class="tel optional control-label" for="booking_form_drop_off_courier_phone">Contact Phone</label>
                                    <div class="controls">
                                        <input class="string tel optional" id="booking_form_drop_off_courier_phone" name="booking_form[drop_off_courier_phone]" type="tel" value="" />
                                    </div>
                                </div>
                            </div>

                            <div>
                                <div>
                                    Customer Remarks
                                </div>
                                <div class="control-group string optional booking_form_remarks">
                                    <div class="controls">
                                        <textarea class="string optional input-large span8" id="booking_form_remarks" name="booking_form_remarks]" ></textarea>
                                    </div>                              </div>
                            </div>

                        </div>

                    </div>
                    <div class="clearfix"></div>

                    <div class="clearfix"></div>
                    <div class="row-fluid" id="transaction-details" style="position: relative;">
                        <div style="padding:25px;">

                            <div id="cart_content">
                                <?php echo $this->view('shop/cart.php'); ?>
                            </div>


                            <input type="submit" name="customer_details_submit_btn" value="Next" class="btn btn-primary" />

                        </div>
                    </div>



                </div>




                <?php echo form_close(); ?>
            </div>

        </div>

    </div>

</div>


My controller controlling the validation is below. 我控制验证的控制器如下。

 function customerdetails() { $customer_v_rules = array( array( 'field' => 'booking_form_customer_name', 'label' => 'Full Name', 'rules' => 'required' ), array( 'field' => 'booking_form_customer_phone', 'label' => 'Phone', 'rules' => 'required' ), array( 'field' => 'booking_form_customer_email', 'label' => 'Email', 'rules' => 'required|valid_email' ), array( 'field' => 'booking_form_pick_up_method', 'label' => 'Delivery Method', 'rules' => 'required' ), array( 'field' => 'booking_form_pick_up_method', 'label' => 'Delivery Method', 'rules' => 'required' ), array( 'field' => 'booking_form_drop_off_method', 'label' => 'Return Method', 'rules' => 'required' ) ); $this->form_validation->set_rules($customer_v_rules); if ($this->form_validation->run()) { $name = $this->input->$this->input->post('booking_form_customer_name'); $phone = $this->input->post('booking_form_customer_phone'); $email = $this->input->post('booking_form_customer_email'); $remarks = $this->input->post('booking_form_remarks'); echo 'OK'; } else { $this->customer_details_initial_task(); //$this->show_products_session_array(); $data = array('page_title' => 'Customer Section'); $meta = array('page_title' => 'Customer Section'); $this->template->write_view('meta', 'templates/wiyo/partials/meta', $meta, TRUE); $this->template->write_view('header', 'templates/wiyo/partials/header', $data, TRUE); $this->template->write_view('content', 'customerdetails', $data, TRUE); $this->template->render(); } //$this -> output -> enable_profiler(TRUE); } 

My Config file 我的配置文件

 $config['permitted_uri_chars'] = 'az 0-9~%.:_\\-'; $config['uri_allowed_chars'] = 'az?'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_expiration'] = 7200; $config['sess_encrypt_cookie'] = TRUE; $config['sess_use_database'] = TRUE; $config['sess_table_name'] = 'ci_sessions'; $config['sess_match_ip'] = FALSE; $config['sess_match_useragent'] = TRUE; $config['sess_time_to_update'] = 300; 


Helping hands are appreciated. 伸出援助之手。

Step1. 第1步。 Search for function _clean_input_keys on /system/core/Input.php 在/system/core/Input.php上搜索函数_clean_input_keys

Step2. 第2步。 Modify this line: 修改此行:

exit(‘Disallowed Key Characters.’);

to: 至:

exit(‘Disallowed Key Characters.’ .  $str);

Step3. 第三步 Refresh page to see the characters which generate the error 刷新页面以查看产生错误的字符

Step4. 第四步。 If you need to add those characters into the exception list, just add to this line 如果需要将这些字符添加到例外列表中,只需添加到此行

if ( ! preg_match(“/^[a-z0-9:_\/-]+$|/i”, $str))

I add | 我加| (pipe) character on the example above. 上例中的(竖线)字符。

Found a possible problem. 发现一个可能的问题。 Look at name of your textarea "]" must be a disallowed character. 查看您的文本区域的名称“]”必须是不允许的字符。

<textarea class="string optional input-large span8" id="booking_form_remarks" name="booking_form_remarks]" ></textarea>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM