我是那种花费更多时间在Web项目中寻找错误并纠正它们的那种,但我仍然有一个关于使用GET和POST方法的问题
总而言之,我经常将GET方法用于可能来自链接或简单按钮的查询示例:
<a href="example.php?n=2030004">Click me</a>
和表单(注册,登录或评论)我使用post方法。但问题是:
有时候(例如多步注册),我可能需要将从第1页中的表单收集的信息传递给第2页(用户可以在其中找到例如验证码)。如果验证码测试是Okey,则将它们发送到数据库。但问题是,如何在不使用隐藏表单的情况下通过POST方法将这些信息传递到下一页? 我是否需要使用套接字从头开始重新创建POST方法?
谢谢
答案 0 :(得分:6)
您可以使用JavaScript(jQuery):
首先你需要加载jQuery(使用谷歌作为主机或下载它):
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js"></script>
则...
<script type="text/javascript">
$(document).ready(function() {
$('#Link').click(function() {
$.post("example.php", { n: "203000"} );
});
});
</script>
<a id="Link" href="#">Click me</a>
修改强>:
之后将其保存在example.php中的SESSION
中$ _SESSION['N'] = (int) $_POST['n'];
此值将存储在服务器端。并绑定到客户端会话,直到他关闭浏览器或它设置服务器端的该会话的时间用完。
<强> EDIT2 强>: 还有另一种可能发布请求,是的.. 但我自己不喜欢这种方法...... 这是使用的形式,OP不想要的东西。
<form name="myform" action="example.php" method="POST">
<input type="hidden" name="n" value="203000">
<a id="Link" onclick="document.myform.submit()" href="#">Click me</a>
</form>
答案 1 :(得分:3)
使用会话存储数据,直到您提交它们: http://de.php.net/manual/en/intro.session.php。 使用会话有很大的优势, 一旦验证了数据,就可以存储它。
请记住,用户可能会操纵POST请求!
答案 2 :(得分:1)
如果问题是在页面之间传递信息(如多步骤形式),则应使用会话(如果使用的是PHP)。 顺便发送一个没有表单的POST请求,你需要像example
一样使用CURL答案 3 :(得分:1)
该语句是浏览器用来启动POST / GET数据关系的HTML语言语句。浏览器是执行环境。
您可以使用其他语言(及其执行环境),例如Java,Java Script,C#等来启动HTTP POST / GET数据关系。
答案 4 :(得分:0)
很抱歉,如果我没有正确理解您,但是从我正在阅读的内容中,您想要访问第1页上输入的表单数据(使用带有post方法的表单)?如果是这样,请使用$ _POST自动全局数组。例如,$ nameOnPage2 = $ _POST ['nameFromPage1']。您不必在第二页上为此创建表单。