不带表单的POST方法(PHP)

不带表单的POST方法(PHP),php,html,post,Php,Html,Post,是否有任何方法可以使用POST方法将内容从一个页面传递到另一个页面,而不使用表单 就像在get中一样,您只需附加一个?,包含您想要发送的任何内容。你能为邮局做点什么吗 我还读了另一个帖子,上面说要使用会话。但是会话作为cookie保存在用户计算机上,cookie是不安全的 那么还有其他方法吗?比如在第一页描述一些东西,然后把它传递到第二页 如果有人能解释一下POST方法是如何工作的,那也太好了?它是如何传递数据的?服务器端您可以使用扩展来实现这一点。辅导的: 不过,我不能100%确定您是否在寻找

是否有任何方法可以使用POST方法将内容从一个页面传递到另一个页面,而不使用表单

就像在get中一样,您只需附加一个
,包含您想要发送的任何内容。你能为邮局做点什么吗

我还读了另一个帖子,上面说要使用会话。但是会话作为cookie保存在用户计算机上,cookie是不安全的

那么还有其他方法吗?比如在第一页描述一些东西,然后把它传递到第二页


如果有人能解释一下POST方法是如何工作的,那也太好了?它是如何传递数据的?

服务器端您可以使用扩展来实现这一点。辅导的:
不过,我不能100%确定您是否在寻找服务器端解决方案?

您可以使用Ajax请求向服务器发送POST请求。或者服务器端的cURL。

如果要从浏览器发布并使其看起来像链接,则需要一些javascript:

您可以使用submit()函数。例如,见

但是如果您想让它表现得像GET,为什么不使用GET呢?

只需使用会话即可

cookie中会话的存储如上述答案所示,仅限于会话ID。如果您有安全意识,Cookies甚至可以配置为仅作为HTTP Cookies发送

在请求页面上,设置所需的会话键值对。在请求的页面上请求先前设置的会话密钥(首先检查它是否存在)。在您的php.ini中,您可以选择仅将会话cookie用作HTTP,这样您就有了更多的安全性


此外:发布数据也可以像上面描述的那样使用AJAX或cURL一样简单。

您应该使用jQuery来实现这一点。您可以使用它的
ajax()
函数。访问下面的链接,阅读功能列表的完整说明,以帮助您解决问题

以下是您的示例代码:

<hmtl>
    <head>
        <script type="http://code.jquery.com/jquery-1.5.1.min.js"></script>
    </head>
    <body>
        <div class="my-fake-form">
            <input id="posting-value-1" type="text" />
            <a id="submit-form-link" href="#submit">Submit this Div!</a>
        </div>
    </body>
</html>
PHP:





对于从页面发送POST请求,您可以使用(在本例中,您必须使用库)或(在php中)

一种方法是使用JavaScript提交一个不可见的表单。HTML:

<button id="my-button">Go to other page</button>
<form id="my-form" method="POST" action="/other-page" style="display: none">
  <input type="hidden" name="param1" value="value1">
  <input type="hidden" name="param2" value="value2">
</form>
您还可以使用链接(
标记)而不是按钮等


这将使浏览器转到其他页面。如果您想停留在当前页面上,只在后台发布一些数据,请使用jQuery或类似库中的ajax函数。

您可以使用GET,或者更好地使用jQuery,这样您就不必创建表单。jQuery有一个强大的ajax功能,可以让您更轻松。您的意思是从用户的浏览器或脚本发出请求吗?为什么cookies不安全?在这里,会话似乎是正确的解决方案。只有会话ID存储在cookie中。数据存储在服务器上。POST工作原理:基本上,不是将数据附加到URL,而是在请求体中发送。你必须解释你真正想做什么,这样我们才能帮助你。简言之:不。但为什么你不想使用POST?通过请求url获取通行参数,通过请求正文发布通行参数(即使在标题之后)。没有表单,您不能简单地形成POST请求。使用Jquery或纯javascript实现这一点。此外,会话不会保存在用户的计算机上-只有会话id。虽然这显示了如何在没有表单的情况下发出POST请求,但对于OP尝试执行的操作来说,这可能不是一个好的解决方案。这只是一个代码。在您的示例中,AJAX代码:我觉得beforeSend:应该用单引号括起来。
<?php
$post = $_POST['post'];

//Do Something with the value!

//On Succes return json encode array!
echo json_encode(array("finish" => true));
?>
<button id="my-button">Go to other page</button>
<form id="my-form" method="POST" action="/other-page" style="display: none">
  <input type="hidden" name="param1" value="value1">
  <input type="hidden" name="param2" value="value2">
</form>
$("#my-button").click(function(e) {
    $("#my-form").submit();
});