[eluser]takasia[/eluser]
String when text input, array when chekboxes etc.
String when the name is like "name", array when "name[]".
If you want to pass an array, the name of the first form must have the "[]" too.
If $_POST['search_query'] shows fine (you said it renders OK -> what does it show?) and $this->input->post('search_query') not (try to echo both), it means that you have something wrong with input class.
It should load automatically, but maybe doesn't or is broken somehow?
What about passing the words as a variable between the functions instead of the views?
The colorizing part could sit in a model, so you would just call it someFunc($word) where $word would be the search terms (or an array, whatever you need).
I don't know if it would do for you, but you could do something like this:
UI:
form (A)-> second form (I guess? the page with buttons, B) -> colorized serach results ©
APP:
function formA() -> do the validation if you need, just show the serach form with view A, the form action like this: 'your.php/controller/pageB/'
function pageB($button= null) ->
first get the $word =$this->input->post('search_query'); and pass it to the colorizing model $colorized_word = $this->your_model->colorize($word);
second, when no button was pushed and $button == "" show viewB (don't need to put the $word here, it will stay in the controller function fine), if the $button was selected pass the $colorized_word to viewC as show it.