POST变量,其中包含数组

时间:2015-01-01 17:17:52

标签: php html

正如标题所说

$champion = array();
for($i=1;$i<=$champ_number; $i++){
                    $champion[$i] = $_POST['champno'.$i];
}
echo '<input type="hidden" name="champion[]" value="'.$champion.'">';

通过POST POST这个变量$ champion最简单,最安全的方法是什么?

2 个答案:

答案 0 :(得分:1)

尝试遵循以下简单格式:

<强> E.g。 :表格

 <form method="post" action="submit.php">  
    <?php 
    $champion=array('hiii','helloooo');

    echo '<input type="hidden" name="champion" value="'.htmlspecialchars(json_encode($champion)).'">';


    ?>
    <input type="submit" value="sub">
    </form>

你的submit.php:

<?php 
$champions = json_decode($_POST['champion'], true);
echo $champions[1];// out put helloooo
?>

答案 1 :(得分:0)

如果你真的想发布整个数组,那么:序列化你的数组。 http://php.net/manual/de/function.serialize.php

...
$championSerialized = serialize( $champion );
echo '<input type="hidden" name="champion" value="' . $championSerialized . '">';

检索数据只是使用$championPost = deserialize( $_POST[ 'champion' ] );