这看起来很简单,但我找不到一个好的方法。
假设在第一页中我创建了一个变量
$myVariable = "Some text";
表单对该页面的操作是"Page2.php“。那么,在Page2.php中,我如何访问该变量呢?我知道使用会话可以做到这一点,但我认为这对于一个简单的字符串来说太多了,我只需要传递一个简单的字符串(一个文件名)。
我如何才能做到这一点?
谢谢!
发布于 2009-05-16 07:04:02
在请求中传递数据
您可以将其作为隐藏字段嵌入到表单中,也可以将其添加到表单操作URL中
echo '<input type="hidden" name="myVariable" value="'.
htmlentities($myVariable).'">';
或
echo '<form method="POST" action="Page2.php?myVariable='.
urlencode($myVariable).'">";
注这也说明了在传递数据时如何使用htmlentities和urlencode。
在会话中传递数据
如果数据不需要传递到客户端,那么会话可能更合适。只需在每个页面的开始处调用session_start(),就可以在$_SESSION数组中获取和设置数据。
安全性
由于您声明的值实际上是一个文件名,因此您需要了解其安全性后果。如果文件名已经从客户端到达,则假定用户篡改了该值。检查它的有效性!当用户将路径传递给重要的系统文件或其控制的文件时,会发生什么情况?您的脚本是否可以用来“探测”服务器上存在或不存在的文件?
由于你在这里显然才刚刚开始,值得提醒的是,这适用于任何到达$_GET、$_POST或$_COOKIE的数据-假设你最大的敌人精心设计了这些数组的内容,并相应地编码!
发布于 2017-06-08 15:21:28
试试这段代码
使用隐藏字段,我们可以将php变量传递到另一个页面
page1.php
<?php $myVariable = "Some text";?>
<form method="post" action="page2.php">
<input type="hidden" name="text" value="<?php echo $myVariable; ?>">
<button type="submit">Submit</button>
</form>
将php变量传递给隐藏字段值,以便可以将此变量访问到另一个页面
page2.php
<?php
$text=$_POST['text'];
echo $text;
?>
发布于 2009-05-16 07:05:55
会话将是唯一的好方法,您也可以使用GET/POST,但这可能是不安全的。
https://stackoverflow.com/questions/871858
复制相似问题