0

この内破機能を機能させようとしています。

これはフォーム パーツです。すべての項目が選択されていると仮定します。

<form method="post">
<select name="test1" multiple="multiple" id="test1">
   <option value="1">item1</option>
   <option value="2">item2</option>
   <option value="3">item3</option>
   <option value="4">item4</option>
   <option value="5">item5</option>
</select>
</form>

PHPの部分

<?php
$var1 = array();
$joinedString = array();
$var1 = $_POST['test1'];
$joinedString = implode(',', $var1);
?>

しかし、エコー部分が機能せず、エラーが発生し、最初の配列値のみが表示されます。

<?php
$echo $joinedString[0];
$echo $joinedString[1];
$echo $joinedString[2];
$echo $joinedString[3];
$echo $joinedString[4];
?>

ありがとう、私はプログラミングの初心者です。私はいつもコードが行ごとに実行されることを忘れていて、常に変数や値と混同していました。そうです、現実の世界では私も不器用で取るに足らない人間です。

4

8 に答える 8

3
<form method="post" action="sear.php">
 <select name="test1[]" multiple="multiple" id="test1">
   <option value="1">item1</option>
   <option value="2">item2</option>
   <option value="3">item3</option>
   <option value="4">item4</option>
   <option value="5">item5</option>
   <input type="submit" name="submit" value="submit" />
  </select>
</form>
<?php
   $var1 = array();
   $joinedString = array();
   $var1 = $_POST['test1'];
   $joinedString = implode(',', $var1);
   echo $joinedString;
?>

投稿値を取得した後、それは間違いなく機能します....試してみてください...

于 2012-09-05T05:39:01.313 に答える
2

使用する

<select name="test1[]" multiple="multiple" id="test1">

phpファイルで.

$var1 = isset($_POST['test1']) ? $_POST['test1']: 0 ;
print_r($var1); //gives array
foreach($var1 as $var) {
    echo $var;
}
于 2012-09-05T05:45:24.797 に答える
2

変化する

<select name="test1" multiple="multiple" id="test1">

<select name="test1[]" multiple="multiple" id="test1">

そして、それはすでに配列です

$var1 = $_POST['test1'];
    $imploded = implode(",", $var1);
    echo $imploded;
    //FOR GETTING INDIVIDUAL ITEMS FROM array
    echo $var1[0];
于 2012-09-05T05:41:18.647 に答える
0

配列ではなく文字列を渡しています。implode()配列を文字列に変換します。

于 2012-09-05T05:37:36.710 に答える
0

スクリプトでは、 $_POST['test1'] には、値のセット全体ではなく、選択ボックスの送信された値のみが含まれます。$var1 には文字列しか含まれていないため、implode() はエラーになります。

于 2012-09-05T05:39:08.500 に答える
0

これを調べてください:

http://www.tizag.com/phpT/php-string-implode.php

そして$、変数で使用されます。

于 2012-09-05T05:39:38.487 に答える
0

(,) を使用して配列を内破しようとしていますが、ポスト配列値にはコンマで区切られた値が含まれていないため、foreachを使用する必要があります。

<?php
$var1 = array();
$joinedString = array();
$var1 = $_POST['test1'];
foreach($var1 as $values)
echo $values."<br/>";
?>

<form method="post">
<select name="test1[]" multiple="multiple" id="test1">
   <option value="1">item1</option>
   <option value="2">item2</option>
   <option value="3">item3</option>
   <option value="4">item4</option>
   <option value="5">item5</option>
</select>
<input type="submit" >
</form>
于 2012-09-05T05:47:06.587 に答える
0

内破は配列を取得していません。配列で動作します。

于 2012-09-05T05:36:44.773 に答える