【问题标题】:Form Action to edit database [duplicate]用于编辑数据库的表单操作 [重复]
【发布时间】:2021-05-11 19:14:35
【问题描述】:

我尝试阅读有关此的所有其他主题,但没有什么太接近我需要的内容。所以,如果我在某个地方遗漏了什么,很抱歉,但目前我遇到了一个常见问题,无法找到解决方案。

我制作了一个连接到我的数据库的表单来编辑我发布的新闻文章。在功能和获取数据方面一切正常,但我的问题实际上是在尝试提交我的编辑。

这是表单本身:

<form method="get" action="/index.php?page=editnews&id=$row[id]">
  <div><label>id</label><input type="text" name="id" id="id" value="<?= $row['id']?>" readonly/></div>
  <div><label>Header</label><input type="text" name="header" id="header" value="<?= $row['header']?>"/></div>
  <div><label>Story</label><textarea type="text" name="story" id="story" cols="10" rows="20" wrap="soft"><?= $row['story']?></textarea></div>
  <input type="submit" value="Submit">
</form>

当我点击提交时,它只需要我到“index.php=id”。它在 index.php 之后跳过了整个“page=editnews”部分。

我在这里错过了什么?

【问题讨论】:

  • 另外,既然您已经将id 作为表单字段,为什么还要在 URL 中传递它?只需将页面添加为隐藏输入即可。
  • 这确实有效。非常感谢你。我在一次搜索中看到了这一点,但认为它不适用于我的情况。所以非常感谢你的这个 =D 我在 URL 中传递它的原因是它只是重定向回我正在编辑的特定文章的编辑页面。

标签: php forms submit


【解决方案1】:

替换下面的

<form method="get" action="/index.php?page=editnews&id=$row[id]">

<form method="get" action="/index.php?page=editnews&id=<?php echo $row[id]; ?>">

【讨论】:

  • 我似乎仍然有这个问题,但我也发现了另一个问题。我的标题文本框没有显示,这可能是我的问题所在。一旦我弄清楚了,我会告诉你会发生什么。
  • 是的,当我点击提交时,它仍然省略了“?page=editnews&”。
猜你喜欢
  • 2013-05-29
  • 2011-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-01
  • 2013-08-20
  • 2017-03-26
相关资源
最近更新 更多