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”不能为空。我必须更改什么才能将我的输入从 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 回答