2

phpプログラミングはかなり新しいですが、multislectオブジェクトimhtmlからPHPのコードに値を渡そうとしています。コードはリストされた人にメールを送信します。

ただし、投稿を介して渡された変数は、最後に選択されたアイテムにすぎないようです。

何かを配列として渡すにはどうすればよいですか?

htmlコード:

<li id="li_6" >
            <label class="description" for="Names[]">Employees who should be added to this charge code: (Hold CTRL to Multi Select)</label>
            Malav, Nancy, Filiz, CJ are added by default and not on the list
            <div>
                <select name="Names" multiple>  
                    <option value="gbiy@afsafd.com">Bi,Gilbert</option>
                    <option value="jbster@asdfasds.com">Bor,Jeff</option>
                    <option value="ibett@adfasdfions.com">Bt,Ivan</option>
                    <option value="scelos@agasdgasdns.com">Caos,Sheryl</option>
                    <option value="rcarsfsfdgy@madfasdfs.com">Car,Raymond</option>
                    <option value="dcaraahers@asdfasdftions.com">Cs,Dale</option>
                    <option value="Cclesfdgsdents@mabukhyns.com">Cles,Cathy</option>
                    <option value="lcugh@madsfadsfasds.com">Cl,Lori</option>
                    <option value="rcolns@madsfasdfons.com">Cons,Renee</option>
                    <option value="ccrine@maasdfkoadsfasd.com">ine,Cassandra</option>
                    <option value="pcrett@maadsfasdfons.com">Ctt,Pamela</option>
</select>
            </div> 
        </li>

PHPコード:

<?php
// Read POST request params into global vars
    $from = "BP@fgsdfgsons.com";
    $title = $_POST[Title] ;
    $mname = $_POST[ManagerName];
    $memail = $_POST[ManagerEmail];
    **$names= $_POST['Names']; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<**
    $other = $_POST[element_4];

    print $email;
    $to = "sfgsdfg@sdfgsdfgssbd.com" + $memail;
    $message ="Title: $title \r\nManager: $mname\r\nManager email: $memail\r\n" ;
    $headers = "From: $from";
    $today = date("m/d/Y");
    $ok = @mail($to, $subject, $message, $headers);

    echo "Your email has been sent! Please confirm with Malav if you do not receive a confrimation email in 2 hours";
?>
4

3 に答える 3

10

値の配列として渡すには、select要素のname属性に角かっこを追加します。

<select name="names[]" multiple="multiple"> 

次に、phpの値を反復処理できます。

foreach ( $_POST['names'] as $selectedOption )
于 2013-01-08T22:55:58.197 に答える
1
foreach ($_POST['Names'] as $selectedOption)
    echo $selectedOption."\n";
于 2013-01-08T22:57:44.573 に答える
0

私がこれを使うとき:

foreach($ _ POST ['names'] as $ selectedOption)

そして、データベースに「$ selectedOption」を挿入すると、データベースに次のように表示されます。

の上

于 2015-03-26T13:48:35.490 に答える