Я пытаюсь отправить PHP-массив по форме html через POST. Код, который я использую, приведен ниже:
<?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>
Как я могу отправить массив PHP по форме html?
Любая веб-ссылка или исходный код будут оценены.
Вы не можете отправить такой массив. Он вернет 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
.
<?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>
Вот простой пример:
$content = array('111', '222'); foreach($content as $c) { echo "<input name='arr[]' value='{$c}'>"; }
В качестве альтернативы вы можете использовать сериализацию и unserialize для отправки значений.