【问题标题】:Submit without inputs提交无输入
【发布时间】:2016-10-07 20:46:22
【问题描述】:

我希望通过单击按钮来修改 SQL 行。

我想做一个<a href="validate.php?id=<?php echo $news->id; ?>">Validate the new</a>

我只想通过单击一个按钮来连续更新数据,这是我第一次遇到这种情况。在此之前,我总是不得不使用<inputs>

但我认为今天这不是最好的方法,有人可以告诉我最好的方法吗?

【问题讨论】:

  • 是什么让您认为这不正确?您是否发现了实际问题?这在某些方面不起作用吗?
  • 应该可以,只要记住使用 $_GET 作为锚链接总是填充 $_GET
  • 您是否尝试过提交带有GET 查询输入的表单?您会注意到这些输入成为 url 中的查询参数。你不必有一个表单来向服务器提交数据,因为GET 表单无论如何都会进入 url。服务器无法区分 <form method="get"> 提交与自己构建完全相同的提交 URL 的人。

标签: php forms pdo submit


【解决方案1】:

您可以创建一个只包含一个按钮的表单:

<form method="POST" action="validate.php?id=<?= urlencode($news->id) ?>">
    <button type="submit">Validate the news</button>
</form>

当您修改资源(例如新闻条目)时,您应该更喜欢 POST 请求而不是 GET 请求。 HTTP 规范将 GET 请求定义为没有副作用(如更改新闻条目),允许 POST 有副作用。并且带有 POST 的表单不会被搜索引擎跟踪,因此会被搜索引擎意外执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    相关资源
    最近更新 更多