0

Dreamweaver CS5 によって作成された単純な insert.php フォーミュラがあります。この式のニュースの見出しをデータベースの列「news_headline」に入力し、この見出しを小文字とスペースをマイナスに変換して列「news_slug」に自動的に追加できるようにしたいと考えています。

したがって、フォームの見出し入力フィールドに「これは見出しです」と入力すると、「これは見出しです」が「news_headline」列に入力され、「this-is-a-headline」が私の「 news_slug」列。

これまでに次のコードを取得しました。

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$news_headline = $_POST['news_headline'];
$news_slug = str_replace(' ', '-', $news_headline);

  $insertSQL = sprintf("INSERT INTO tbl_news (news_headline, news_slug) VALUES (%s, %s)",
                   GetSQLValueString($_POST['news_headline'], "text"),
                   GetSQLValueString($_POST['news_slug'], "text"));

ベーシックレスト

    mysql_select_db($database_Jahrhundertkomet, $con);
    $Result1 = mysql_query($insertSQL, $Jahrhundertkomet) or die(mysql_error());}
    mysql_select_db($database_Jahrhundertkomet, $con);
    $query_Jahrhundertkomet = "SELECT * FROM tbl_news";
    $Jahrhundertkomet = mysql_query($query_Jahrhundertkomet, $con) or die(mysql_error());
    $row_Jahrhundertkomet = mysql_fetch_assoc($con);
    $totalRows_Jahrhundertkomet = mysql_num_rows($con);
    mysql_free_result($con);
    ?>
    <form method="post" name="form1" action="<?php echo $editFormAction; ?>">
    <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">News_headline:</td>
      <td><input type="text" name="news_headline" value="" size="32"></td>
    </tr>
        <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td><input type="submit" value="Datensatz einfügen"></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1">
</form>

しかし今、コードに見出しを入力すると、エラーが発生します: 列 'news_slug' を null にすることはできません。変換を使用して、news_headline から news_slug に入力を入力するには、何を変更する必要がありますか?

4

1 に答える 1

0

スコアの空白を置き換えるだけの場合は、str_replaceを使用できます。また、フォームに名前が$_POST['news_slug'];付けられた入力がないため、何も受け取らない whichを使用していnews_slugます。

これを試して:

 $news_headline = $_POST['news_headline'];
 $news_slug = str_replace(' ', '-', $news_headline);

そして、これらの行を次の行の直後に配置します。

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
于 2013-03-07T09:53:02.243 に答える