【问题标题】:Passing data from html to php without asking user to fill a form将数据从 html 传递到 php 而不要求用户填写表格
【发布时间】:2014-02-17 22:56:45
【问题描述】:

我是 html/php 新手,很抱歉这个新手问题。 我有一个带有 2 个文本字段的第一个 HTML 页面。 通过单击表单末尾的按钮,我将进入一个 PHP 页面,在该页面中我以这种方式检索数据

$id = $_REQUEST['id'];
$password = $_REQUEST['password'];

一切都很好。无论如何,在这个 PHP 中,我已经嵌入了一些带有按钮的 HTML 代码

<input type="button" id="fbutton" value="Go Further" onClick="location.href='anotherPage.php'"> <br>

这将导致另一个 PHP 页面。问题是我需要将 $id 传递到最后一个“新”页面(anotherPage.php),因为我会将它用作查询的条件(sql WHERE)。但我找不到如何传递这个 $id 变量。我可以使用表单,但如何在屏幕上不“打印”任何内容的情况下做到这一点?

【问题讨论】:

  • 在你的 PHP 页面中添加一个 ,它将静默传递变量
  • 我是否应该像以前使用上面的代码一样将它放在一个表单中并在新的 PHP 页面中检索值?
  • 是的。您应该创建一个新表单,其中包含隐藏的输入和您希望用户按下的按钮(顺便说一下,不要在按钮内使用 onclick="..."。如果您真的需要它(你不需要),然后使用 jQuery 之类的东西从外部链接它。
  • 您可以例如使用 $_GET 参数:onClick="location.href='anotherPage.php?id={$id}'
  • @Tularis 使用 onClick 因为这个按钮不在代码中!无论如何,我会尝试您提供的这段代码。谢谢:)

标签: php html forms


【解决方案1】:

首先你需要了解 GET 和 POST 请求的区别。

将数据传递到 PHP 中最简单的方法是使用 GET 变量。这些以 ?key=value&otherKey=otherValue

的形式附加到 URL

这适用于某些内容,例如页面要显示的帖子的 ID。对于正在提交(发布)而不是用于标识您请求(获取)的资源的数据,您需要使用 POST,因为这不会显示在 URL 中。

您只有可以发送 POST 数据的表单和 AJAX 请求。

如果您想发布数据,最简单的方法是使用表单。如果您不想在页面上显示表单字段,那么您可以愉快地创建一个&lt;form&gt; 标记并包含隐藏的表单输入,这些输入不会显示在浏览器中,但可以包含可以传递给 PHP 的数据。

但是

您需要注意一些基本的安全事项。

首先,POST 似乎比 GET 更安全。它不是。伪造帖子数据很容易做到,因此您不能依赖它来保持干净。

其次,如果您在数据库查询中使用这些已发布的变量,那么您需要确保使用正确的转义或理想的准备语句以避免 SQL 注入。

【讨论】:

    猜你喜欢
    • 2014-10-27
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多