我想通过链接传递三个值,但不希望它们在URL中可见。
答案 0 :(得分:6)
我想要三个值 通过链接传递,但不想要它们 在网址中可见。
你的陈述与自己相矛盾。您希望在链接中显示,但同时您不希望在网址中显示它。
或者,您可以使用 隐藏字段 来传递数据,甚至可以使用 会话 。
答案 1 :(得分:2)
有两种主要方法:
首先,如果你使用的是表格:
<form action="submit.php" method="POST">
... stuff ...
</form>
这会将表单内容存储到PHP的$ _POST数组中,具体取决于元素名称。所以,如果你有一个name="foo"
的元素,它将进入$ _POST ['foo']。您可以使用隐藏的表单字段(type="hidden"
),以便它们不会显示。
另一种方式是通过会话(将它们视为服务器端cookie)存储在$ _SESSION中:
session_start();
$_SESSION['foo'] = value;
如果您要删除所有会话变量,请使用session_destroy()
。
有关详细信息,请参阅此处:http://www.php.net/manual/en/ref.session.php
答案 2 :(得分:0)
您可以使用POST以隐藏的形式传递这些变量。或者,您可以以某种方式对值进行编码,因此它们不是人类可读的。
答案 3 :(得分:0)
然后你遇到了问题,因为链接基本上是浏览器点击时会遵循的URL。您可以简单地在链接URL中包含这些值,并将URL标识的页面重定向到另一个URL。这样,至少这些值不会显示在地址栏中。无论这是否能实现overall goal,我都不能说。
答案 4 :(得分:0)
使用此示例使用javascript计算出来。 http://www.skytopia.com/project/articles/compsci/form.html#form2php