只是学习如何在php中逐页传递变量,并试图为我找到最好的方法,因为我必须在5页之间传递大约10个变量。在第一页上,有一个表单有意义吗:
<form method="post">
<input type="hidden" name="test" value="<?php $test ?>" />
</form>
那么在下一页上,我可以使用POST
接收这个变量吗?我不想有一个实际的形式,只是使用它作为我的变量的存储区域。另外,如果第二个页面被称为second.php。,我该如何使用action=
感谢
简短回答:表单只有在提交时才有效。您可能想要使用会话。
更长的答案:
- 没有用户输入的表单是没有意义的。这就是它存在的目的
- 表单上的CCD_ 3属性反映了表单将被提交到哪里。如果处理页面是
second.php
,那么action=
属性应该指向那里 - 会议并不是唯一的可能。PHP还可以设置cookie,如果服务器不关心数据(仅用作介质),则可以使用HTML5的localStorage
实际上,如果需要在所有五个页面中传递10个变量,那么最好使用会话。您可以将所有这些存储为$_SESSION
变量的一部分,并在会话保持活动的情况下从任何页面访问它们。
不能使用$_POST变量在用户会话中存储数据。
您应该使用:
- 会话
- Cookie
- HTML5存储
这取决于你想做什么,你有各种选择:1.使用你概述的表格和帖子。在这种情况下,在第1页上,您的action="second.php"2.使用GET通过URL传递数据3.如前两个员额所述的会议4.Cookie
如果我正确理解您的问题,您可以尝试以下操作来POST您的值,而无需将表单显示在页面上或实际出现在页面上。您需要引用jQuery库才能使用此代码。
function hiddenPost(param1) {
$('<form />')
.hide()
.attr({ method: "post" })
.attr({ action: "http://my-URL-here.com/SomePage.php" })
.append($('<input />')
.attr("type", "hidden")
.attr({ "name": "post_data" })
.val(param1)
)
.append('<input type="submit" />')
.appendTo($("body"))
.submit();
}
您可以在POST到的页面上检索POST值,方法与使用表单标记的常规POST相同。
对于PHP:var postData=$_POST["POST_data"];
希望能有所帮助。