PHP将变量传递到下一页
看起来很简单,但是我找不到很好的方法。
在第一页中说,我创建了一个变量
$myVariable = "Some text";
该页面的表单操作是“
Page2.php”。因此,在Page2.php中,如何访问该变量?我知道我可以在会话中做到这一点,但我认为对于一个简单的字符串来说这太多了,我只需要传递一个简单的字符串(文件名)即可。
我该如何实现?
谢谢!
回答:
HTML / HTTP是无状态的,换句话说,您在上一页所做的/与当前页完全无关。 除非 您使用会话,cookie或GET /
POST变量之类的东西。会话和cookie非常易于使用,会话比cookie更加安全。更安全,但不完全安全。
//On page 1$_SESSION['varname'] = $var_value;
//On page 2
$var_value = $_SESSION['varname'];
请记住,session_start();
在尝试访问$_SESSION
数组之前,以及在将任何输出发送到浏览器之前,都要在这两个页面上运行该语句。
//One page 1$_COOKIE['varname'] = $var_value;
//On page 2
$var_value = $_COOKIE['varname'];
会话和cookie之间的最大区别在于,如果使用会话,则变量的值将存储在服务器上,如果使用cookie,则变量的值将存储在客户端上。我想不出使用cookie代替会话的任何好理由,除非您希望数据在会话之间持久存在,但是即使那样,最好将其存储在数据库中,并根据用户名或id检索它。
您可以在指向下一页的链接中添加变量:
<a href="page2.php?varname=<?php echo $var_value ?>">Page2</a>
这将创建一个GET变量。
另一种方法是在提交到第二页的表单中包含一个隐藏字段:
<form method="get" action="page2.php"> <input type="hidden" name="varname" value="var_value">
<input type="submit">
</form>
然后在第二页上:
//Using GET$var_value = $_GET['varname'];
//Using POST
$var_value = $_POST['varname'];
//Using GET, POST or COOKIE.
$var_value = $_REQUEST['varname'];
只需将表单的方法更改为,post
如果您想通过邮寄即可。两者同样不安全,尽管GET更易于破解。
当我第一次开始用PHP进行编码时,除了会话数据之外,每个新请求都是一个脚本的全新实例,这一事实引起了我的注意。一旦习惯了,它就非常简单。
以上是 PHP将变量传递到下一页 的全部内容, 来源链接: utcz.com/qa/404103.html