1

「negwords」と呼ばれるテキストエリアを持つ単純なフォームがあります。テキストエリアにデータがある場合、各行は \n で展開され、これらの値をデータベースの "negatives" というテーブルに挿入します。このテーブルには 2 つのフィールド (id、negative) しかありません。

問題は、空または空白のキャリッジ リターンが存在し、送信された場合、データベースに空白のレコードが表示されることです。

テキストエリアから空白または空の行を送信しないようにするにはどうすればよいですか?

<form action="insert.php" method="post">
<textarea class="" cols="110" rows="30" name="negwords"></textarea>
    <input type="submit" name="submit" value="Submit" />
    </form>    
  </div>
  <div id="results">
<?php
include 'db_connect.php';

if(isset($_POST["negwords"]))
{
  //$negative_keyword = explode("\n", $_POST["negwords"]);

  $negative_keyword = array_filter(explode("\n", trim($_POST['negwords'])));
  foreach($negative_keyword as $key => $phrase)
{
    $phrase=trim($phrase);
    $sql = "INSERT IGNORE INTO negatives (negative) VALUE ('{$phrase}')";

    mysql_query($sql);
}
}
?>
4

1 に答える 1

0

mysql_query($sql);で置き換えます

if (strlen($phrase) > 0) { mysql_query($sql); }

また、補足として、推奨されていない mysql から mysqli に切り替えることを強くお勧めします。

于 2012-08-13T08:24:16.400 に答える