2010-10-06 136 views
3

我已經使用formigniter爲CI生成表單。 http://formigniter.org/CodeIgniter中的set_value()默認值

這個位很好用。不過,我想爲名稱字段設置一個默認值。

輸入代碼如下所示:

<label for="forename">Forename</label> 
<?php echo form_error('forename'); ?> 
<br /><input id="forename" type="text" name="forename" maxlength="255" value="<?php echo set_value('forename'); ?>" /> 

,我會想在第一名稱添加與$this->session->userdata('current_client');

會打破我的數據庫中插入,如果我只是把它扔到SET_VALUE功能?

編輯:

對不起,我不認爲我很清楚那裏。我想要名稱字段自動填入來自會話cookie的名稱。

回答

8

只要您在運行查詢之前正確地轉義輸入數據,就不會引起任何問題。 set_value函數只是設置該值,使用它的唯一好處是簡化了在重新顯示錶單時顯示值已經提交的值,或者在表單尚未提交時顯示默認值。

這將使用會話VAR作爲表單字段的默認值:與我情況

$data = array(
    'name' => 'qty_' . $i, 
    'size'=>15, 
    'id' => 'qty_' . $i, 
    'required'=>'required', 
    'class'=>'input-small', 
    'value' => set_value('qty_' . $i), 
    $restock_thirty 
); 

echo form_input($data); 
+1

啊是的,我只是通過閱讀文檔瞭解了這一點。可能應該在未來首先做到這一點。 http://codeigniter.com/user_guide/helpers/form_helper.html感謝您的回覆brabym。 – Robimp 2010-10-06 14:59:47

0

相同情況下,如果產生在控制器的sode假設用戶名錯誤unfield然後返回錯誤,但頁面可以刷新,然後set_value可以設置該文本框的值

<input type="text" name="username" placeholder="Username.." value="<?php echo set_value('username') ?>" class="form-control tx"> 
0

在笨

<input id="forename" type="text" name="forename" maxlength="255" value="<?php echo set_value('forename', $this->session->userdata('current_client')); ?>" />