nasıl sadece dolu metin girdileri eklemek için?

2 Cevap php

this is my code:
<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) . '"';
}

}

Ben bu sadece ilk iki giriş doldurulur ise, örneğin, bu eklemek ve boş geçen birini atlamak, doldurulmuş alanları eklemek istiyorum.

2 Cevap

Zaten empty() $_POST siz de kontrol etmek için kullanabileceğiniz kontrol etmek için kullandığınız $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) . '"';
}

Sorunu çözmek için en çok beyin ölü yönlü metin dizideki her elemanın dize uzunluğunu kontrol etmek olacaktır.

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

Ancak, ciddi bir form doğrulama çeşit bir çerçeveye geçiş düşünün. I cakePHP ve CodeIgniter hakkında iyi şeyler duymak ve onlar incelemeye değer olabilir.