2009-12-15 33 views
1

這是我的代碼:
<input type="text" name="text[]" />
<input type="text" name="text[]" />
<input type="text" name="text[]" />
如何只插入填充文本輸入?

if (!empty($_POST['text'])) { 
foreach ($_POST['text'] AS $value) { 
    // add to the database 
    $sql = 'INSERT INTO tableName SET fieldName = "' . mysql_real_escape_string($value) . '"'; 
} 

}

我想這只是插入填充,例如,如果前兩個輸入填充字段,插入那些和跳過最後一個是空的。

回答

2

您已經在使用empty()檢查$_POST你也可以用它來檢查$value

if (!empty($_POST['text'])) { 
foreach ($_POST['text'] AS $value) { 
    // add to the database 
    if (!empty($value)) 
     $sql = 'INSERT INTO tableName SET fieldName = "' . mysql_real_escape_string($value) . '"'; 
} 
+0

它很好,謝謝:) – Sam

1

最腦殘的方式來解決這個問題將是檢查每個元素的字符串長度的文本數組。

foreach($_POST['text'] as $value) { 
    if(!empty($value){ 
     // add to the database 
     $sql = 'INSERT INTO tableName SET fieldName = "' . mysql_real_escape_string($value) . '"'; 
    } 
} 

但是,我會認真考慮切換到做某種形式驗證的框架。我聽到有關cakePHPCodeIgniter的好消息,他們可能值得一試。