0

我正在尝试通过 POST 通过 html 表单发送 PHP 数组。我正在使用的代码如下:

<?php
    $content = array('111', '222' );
?>

    <html>
    <head>
    <title>PAGE TITLE</title>
    </head>
        <body>
            <form name="downloadexcel" action="downloadexcel.php" method="post">
                <input type="text" name="data" value="<?php echo $content; ?>"/>
                <a href="javascript: submitform()">Download</a>
            </form>
            <script type="text/javascript">
                function submitform()
                {
                  document.downloadexcel.submit();
                }
            </script>
        </body>
    </html>

如何通过 html 表单发送 PHP 数组?

任何网络链接或源代码将不胜感激。

4

3 回答 3

2
<?php
$content = array('111', '222' );
?>

<html>
<head>
<title>PAGE TITLE</title>
</head>
    <body>
        <form name="downloadexcel" action="downloadexcel.php" method="post">
            <?php foreach($content as $c) { ?>
               <input type="text" name="data[]" value="<?php echo $c; ?>"/>
            <?php }  ?>
            <a href="javascript: submitform()">Download</a>
        </form>
        <script type="text/javascript">
            function submitform()
            {
              document.downloadexcel.submit();
            }
        </script>
    </body>
</html>
于 2012-07-27T08:39:47.700 回答
2

你不能像这样发送数组。它会返回Array。你可以这样做

<form name="downloadexcel" action="downloadexcel.php" method="post">

<?php foreach ($content as $item): ?>
    <input type="text" name="data[]" value="<?php echo $item; ?>"/>
<?php endforeach ?>

<a href="javascript: submitform()">Download</a>
</form>

这种变体在模板或代码中的任何地方使用是最优雅的。HTML将很容易被验证IDE并且code assist也将可用。

于 2012-07-27T08:40:44.783 回答
0

这是一个简单的例子:

$content = array('111', '222');

foreach($content as $c)
{
    echo "<input name='arr[]' value='{$c}'>";
}

您也可以使用序列化和反序列化来发送值。

于 2012-07-27T08:42:29.930 回答