说我已经在PHP中定义了一些类,如下所示:
class foo
{
var $bar;
function foo($name)
{
$this->bar = $name;
}
}
现在让我们假设我已经创建了这个类的实例。
<form action="somenewform.php" method="POST">
<div name="somename">
<?PHP
$somevar = foo("someclassname");
?>
</div>
</form>
我对PHP比较陌生,我想知道如何在另一个页面上检索这些数据。我知道你需要做$ _POST ['name']来检索数据,但是如何检索bar的值?
答案 0 :(得分:1)
您需要序列化该类,将其设置为隐藏的输入字段,然后在下一页上取消序列化。
例如:
<form action="somenewform.php" method="POST">
<div name="somename">
<?php
$somevar = foo("someclassname");
?>
<input type="hidden" name="foo" value="<?php echo serialize($somevar); ?>" />
</div>
</form>
然后在您的目标网页上取消序列化
$somevar = unserialize($_POST['foo']);
echo $somevar->bar; //echos "someclassname"
请记住,用户可以操作隐藏输入字段中的数据,您不应该相信数据没有被篡改。确保检查数据 BEFORE ,然后将其取消序列化。如果您需要更安全的方法,请考虑使用$_SESSION
。
答案 1 :(得分:1)
我倾向于将此类信息存储在会话变量中:
session_start();
$somevar = new foo( 'someclassname' );
$_SESSION['somevar'] = $somevar;
然后在下一页检索它:
session_start();
$somevar = $_SESSION['somevar'];
echo $somevar->bar;
您可以在php.net上的PHP Sessions上阅读更多内容。