我已经创建了一个用户信息数组并将其发布到另一个页面以供使用..但是当我访问它时它不返回任何值..只返回A或r ..
任何好友都可以帮助我..
创建数组
<?php
$datas= array(
"Scountry"=>'ZA',
"SName"=>$SName,
"SCompany"=>$SCompany,
"SAddress"=>$SAddress,
"SAddress2"=>$SAddress2,
"SAddress3"=>$SAddress3,
"ssPlace"=>$fr[0],
"sZip"=>$fr[1],
"SPhone"=>$SPhone,
"SMobile"=>$SMobile,
"SEmail"=>$SEmail,
"SFex"=>$SFex
);
?>
我的帖子表格
<form action="submit.php" method="post" id="submit" name="submit">
<input type="hidden" name="clientdata" id="clientdata" value="<?php print_r($datas); ?>">
<input type="submit" value="Submit"/>
</form>
我的访问代码submit.php
<?php
$clientdata = $_POST['clientdata'];
print_r($clientdata);
?>
当我用print打印时
print_r($clientdata);
以下结果显示
Array ( [Scountry] => ZA [SName] => name [SCompany] => adfsd [SAddress] => asdf [SAddress2] => adsf [SAddress3] => asdf [ssPlace] => adfddfd [sZip] => 0037 [SPhone] => 222222222 [SMobile] => 9926036842 [SEmail] => abc@gmail.com [SFex] => 1111111111)
我的问题是当我访问数组属性的特定值时,它不打印...
echo $clientdata->Scountry;
没有结果显示
当我使用
时 echo $clientdata[Scountry];
没有结果显示
任何身体帮助......
答案 0 :(得分:1)
您必须使用字符串作为数组的键。密钥必须介于"
之间,否则php会认为您正在寻找常量。
echo $clientdata["Scountry"];
<强>更新强>
您不能将print_r数据作为输入字段中的值进行打印,您必须将其序列化。这会从数组中创建一个json字符串。
<input type="hidden" name="clientdata" id="clientdata" value="<?php echo json_encode($datas); ?>">
现在,在您的代码中,您可以将此json字符串解码为对象:
$clientdata = json_decode($_POST['clientdata']);
echo $clientdata->Scountry;
答案 1 :(得分:0)
将您的数组内嵌并从表单中发布。
<form action="submit.php" method="post" id="submit" name="submit">
<input type="hidden" name="clientdata" id="clientdata" value="<?php implode('@@#@@',$datas); ?>">
<input type="submit" value="Submit" />
</form>
在你的PHP文件上:
<?php
$clientdata = $_POST['clientdata'];
$clientArray = explode('@@#@@',$clientdata);
echo '<pre>';
print_r($clientArray);
echo $clientArray['Secondary'];
?>