2012-07-27 35 views
0

我想通過POST以HTML格式發送PHP數組。我正在使用的代碼如下:如何通過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> 

如何發送PHP數組的HTML表單?

任何網頁鏈接或源代碼,將不勝感激。

+0

您可以使用隱藏變量。 – 2012-07-27 08:39:51

+1

這是不是很清楚你試圖實現,但發送數組的最佳方式是序列化(我認爲更好的做法是使用['json_encode'](http://tw.php.net/manual/en/function.json -encode.php)/ ['json_decode'](http://tw.php.net/manual/en/function.json-decode.php))。 – Leri 2012-07-27 08:39:52

+0

爲什麼有人把這個問題的負面評價?請任何人告訴我。 – Vivek 2012-07-27 08:50:25

回答

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將很容易驗證IDEcode assist也將可用。

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> 
0

這裏的是一個簡單的例子:

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

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

你可以選擇使用serializeunserialize發送的值。

相關問題