使用隐藏输入发送 php $Array

问题描述 投票:0回答:3

我将 php 中的数组的值从一个 php 文件发送到另一个文件,并且我使用用序列化隐藏的输入,它工作正常,但我在网页上读到,当数组没有很多时,我可以使用序列化当它有几个值时,我不知道,例如数组[10]或[8],我使用这个数组来保存很多值,比如40个或更多,我想确保serialize() 可以很好地工作,你觉得怎么样?我可以对数组中的很多值使用序列化吗?

我的代码在这里:

////file1.php////

//here both $code_period and $selection are array, and i dont know exactly how many values i will
//save inside them   

echo "<form name='formprocess' method='post' action='process.php'>

<input name='code_period_name' type='hidden' value='".serialize($code_period)."'>
<input name='selection' type='hidden' value='".serialize($selection)."'>

<input style='background:#13284B;color:White' type='submit' value='Process'>

</form>";



////process.php////

$code_period_name=unserialize($_POST['code_period_name']); //im catching these values this way
$selection=unserialize($_POST['selection']);

就像我之前说的,它工作得很好,我只是想知道你对此的看法,因为我在网页上读到,当我必须保存一些值时,我可以使用序列化

php html
3个回答
1
投票

您可以将其转换为 json 格式并发送它,您可以再次将其解码以获得相同的数组

echo "<form name='formprocess' method='post' action='process.php'>

<input name='code_period_name' type='hidden' value='".json_encode($code_period)."'>
<input name='selection' type='hidden' value='".json_encode($selection)."'>

<input style='background:#13284B;color:White' type='submit' value='Process'>

</form>";

In Process.php
$code_period_name=json_decode($_POST['code_period_name']); //im catching these values this way
$selection=json_decode($_POST['selection']);

0
投票

我要做的第一件事不是

echo
出大块的静态 HTML。

我要做的第二件事是......

<form name="formprocess" method="post" action="process.php">

<?php foreach ($code_period as $val) : ?>
<input type="hidden" name="code_period_name[]" value="<?= htmlspecialchars($val) ?>">
<?php endforeach ?>

<?php foreach ($selection as $val) : ?>
<input type="hidden" name="selection[]" value="<?= htmlspecialchars($val) ?>">
<?php endforeach ?>

<button type="submit">Process</button>

</form>

然后,当您访问

$_POST['code_period_name']
$_POST['selection']
时,它们就已经是数组了。


0
投票

我对此有疑问。我可以用它来合并表单上的 3 个字段吗?

让我解释一下我想做什么: 我的 HTML 表单上有邮政编码、城市和国家/地区字段。每个都有自己的数据列表。我想连接这些字段,以便当您更改国家/地区代码时,数据列表也会更改,当您输入邮政编码时,城市和国家/地区应该更改,依此类推。

如果可能的话,我想在不提交的情况下执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.