2017-11-23 3 views
1

私はこれを何時間もやろうとしていましたが、何をしようとしているのか、私はPOSTのフォームを$ keyと$ valueの値$ _POSTにあります。

コード:

 <div class="row form-group"> 
      <div class="col-sm-4 text-right"> 
       <label for="" class="control-label">What would you like done?:</label> 
      </div> 
      <div class="col-sm-8"> 
       <select id="task_done" name="task_done" class="form-control" required="required"> 

        <?php $tasks = array(
          1 => "[Task 1] - task 1 name ...", 
          2 => "[Task 2] - task 2 name ...", 
         ); 
        ?> 

         <optgroup label="Tasks"> 
         <?php foreach ($tasks as $key => $value) { ?> 
          <option value="<?php echo htmlspecialchars($key) ?>"><?php echo htmlspecialchars($value) ?></option> 
         <?php } ?> 
         </optgroup> 

       </select> 
      </div> 
     </div> 

私はそれだけで$キー値を取得しますが、私はあまりにも$値1を必要とする$ _POST [ 'task_done']をキャッチすると、方法私がそこにあります両方を得ることができますか?

ありがとうございました!

+0

$ _POST ['task_done']を使用すると、この場合は$ keyである属性値= ""内の値のみが取得されます。 $ keyと$ valueを一緒に結合します。 – zeeks

答えて

1

PHPで$key => $valueのペアがあるので、PHP側で同じリストを使用して、から$valueを派生させることができます。

option要素のvalue属性のキーと値の両方を、どちらかとはいえない値で区切って指定してください(例:|)。この方法で、あなたはlist($key, $value) = explode($_POST['task_done'], '|');を受け取って2つを得ることができます。

0

表示されたテキストと同じキーにすることができます。それ以外の場合は、配列を使って$ keyに基づいて$値を検索することができます。

関連する問題