表單中的數組值始終是CI中表單驗證的一個問題。現在我必須輸入多個值,這些數組值將被存儲在數據庫中。現在用戶可以通過錯誤保留一些空白領域中的鏈接如下所示:多個文本輸入的表單驗證Codeigniter
Values in the array on submission.
我以前this教程上+按鈕即可添加輸入框。提交時,空白值將被截斷,然後不會將數組值添加到數據庫中。我嘗試使用本地PHP中的示例程序,但無法在CI中實現它。
我用下面的代碼在本地PHP中插入值DB截斷空值:
<?php
include 'sql_connect.php';
$str = array();
for($i=0;$i<count($_POST["txtSiteName"]);$i++)
{
$str[] = $_POST["txtSiteName"][$i];
}
$str = array_filter($str, function($item) {if(!is_null($item)) return $item;});
foreach($str as $loop_str)
{
$arr_str[] = $loop_str;
}
for($k = 0; $k<count($arr_str);$k++)
{
mysql_query("INSERT INTO sitename (name) VALUES ('".$arr_str[$k]."')") or die(mysql_error());
}
print_r($arr_str);
?>
我怎樣才能在CI實現這一目標? 我試着使用回調函數,但數組值沒有被傳遞給回調函數。
編輯:
下面的代碼顯示了我的回調函數:
在進入3個網址它被稱爲3倍。這是正常的嗎? 此外我的array_walk的回調函數不起作用。在另一個回調函數內調用回調函數是不可能的?
public function null_check()
{
$urls = $this->input->post('link_name');
array_walk($urls, 'prepurl');
var_dump($urls);
}
prepurl功能:
public function prepurl($item, $key)
{
$item = "http://".$item;
}
你dunamically添加文本框運行此代碼或修改? – 2013-02-09 09:36:15
@raheelshan是的,我是。 – SilentAssassin 2013-02-09 09:37:55
你可以顯示你嘗試過的'CodeIgniter'代碼嗎? – 2013-02-09 09:54:12