Reputation: 175
I have studying about disallowed key characters error in 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>
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'] = 'a-z 0-9~%.:_\-';
$config['uri_allowed_chars'] = 'a-z?';
$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;
Upvotes: 0
Views: 5190
Reputation: 549
Step1. Search for function _clean_input_keys on /system/core/Input.php
Step2. 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.
Upvotes: 3
Reputation: 2776
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>
Upvotes: 0