как вставить только заполненные текстовые поля? - PullRequest
1 голос
/ 15 декабря 2009

это мой код:
<input type="text" name="text[]" /><br> <input type="text" name="text[]" /><br> <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 ]

2 голосов
/ 15 декабря 2009

Вы уже используете 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) . '"';
}
1 голос
/ 15 декабря 2009

Самый тупой способ решить эту проблему - проверить длину строки каждого элемента в текстовом массиве.

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

Однако я бы серьезно подумал о переходе на платформу, которая выполняет своего рода валидацию форм. Я слышал хорошие новости о cakePHP и CodeIgniter , и их, возможно, стоит проверить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...