Welcome Guest, Not a member yet? Register   Sign In
[Newbie] form_dropdown doesn't htmlencode?
#1

[eluser]Unknown[/eluser]
Pretty simple question, just wanted to see if I'm doing this correctly.

I have a very simple dropdown that looks like this:

Code:
<?php
    $subjsArray = array('' => '< Select One >');
    foreach ($subjects as $subj) {
        $subjsArray[$subj['key']] = $subj['display'];
    }
    echo form_dropdown('subject', $subjsArray, $form_values->subject, 'id="subject"') . "\n";
?&gt;

Basically what I've done (if it's not obvious enough) is take my $subjects array and added a < Select One > option first just so nothing is selected by default. What I've noticed is that nothing based to form_dropdown is being encoded properly.

What I expected was:
Code:
<select name="subject" id="subject">
<option value="" selected="selected">&l t; Select One &g t;</option>
...
</select>

What I got was:
Code:
<select name="subject" id="subject">
<option value="" selected="selected">< Select One ></option>
...
</select>

Am I using the function correctly? (This is my first attempt at CI)

Thanks!

Brandon
#2

[eluser]CroNiX[/eluser]
I'm not seeing your problem. The "what you expected" and "what you got" seem identical to me? If your greater than/less than in your default value are being converted to htmlentities, either get rid of them (are they necessary?) or run your $subj['display'] through htmlentities() in your loop.
#3

[eluser]Unknown[/eluser]
Whoops, looks like the entities I typed got encoded for me (edited my post to show others what I meant).

I have no problems encoding all of the values in my array, just making sure I was expected to do it that way.

Not to rant my first day here, but doesn't it seem like the form_dropdown function should be doing the encoding for me? I've always thought that if a function outputs the html it should be in charge of making it safe too.




Theme © iAndrew 2016 - Forum software by © MyBB