2016-05-24 6 views
-1

いくつかのラベルに対して異なる値(selectタグから)を選択できるようにする必要があるフォームを作成しようとしています。 私はPHPで2つの異なる配列を持っています。複数の選択肢が投稿を使用してフォームに送信されていませんか?

  1. selectのラベルを含む標準配列。
  2. ラベルに対して選択される一連の値。

私の問題は、私は、送信ボタンを押すと、フォームが送信されているが、selectタグで選択された任意の値を$_POST表示されません。私はラベルに対して選択された値を取得したい。私は私が手にエラーがある送信ボタン「:未定義のインデックス:名前お知らせ」を押すと

<?php 
    $data = array ('name', 'phone', 'address'); 
    $values = array('a','2344','xyz'); 
?> 

<html> 
<head></head> 
<body> 

    <form action="<?php $_SERVER["PHP_SELF"] ?>" method="post"> 
    <?php for($i = 0; $i < count($data); $i++){ ?> 
      <label for='<?php $data[$i]?>'> <?php echo $data[$i]?></label> 
      <select name='<?php $data[$i]?>' id = '<?php $data[$i]?>'> 
     <?php foreach($values as $val){ ?>   
      <option value='<?php $val ?>'> <?php echo $val ?> </option> 
     <?php } ?>  

     </select> 
    <?php } ?> 

<button type="submit" name="submit" value="submit">Submit</button>  
<br> 
</form> 
</body> 
</html> 

<?php 
if(isset($_POST['submit'])){ 
echo$_POST['name']; 
} 
?> 

は、ここに私のコードです。私はすでに複数のselect文について投稿された質問を広範囲に検索しましたが、回答のどれもが私の基準に合致しませんでした。助けてくれてありがとう。

+0

HTML。このステートメントで行ったように[<?php echo $ val?>]。この種の文のたびに、エコーをコードに配置してください。 – Atif

答えて

0

あなたは変数

<html> 
<head></head> 
<body> 

    <form action="<?php $_SERVER["PHP_SELF"] ?>" method="post"> 
    <?php for($i = 0; $i < count($data); $i++){ ?> 
      <label for='<?php echo $data[$i]?>'> <?php echo $data[$i]?></label> 
      <select name='<?php echo $data[$i]?>' id = '<?php echo $data[$i]?>'> 
     <?php foreach($values as $val){ ?>   
      <option value='<?php echo $val ?>'> <?php echo $val ?> </option> 
     <?php } ?>  

     </select> 
    <?php } ?> 

<button type="submit" name="submit" value="submit">Submit</button>  
<br> 
</form> 
</body> 
</html> 

<?php 
if(isset($_POST['submit'])){ 
echo$_POST['name']; 
} 
?> 
0

あなたが選択ボックスで各変数の前にエコーを書いていないを印刷するのを忘れている:

あなたがに印刷する必要があるすべての値の前にecho文を配置する必要があり
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> 
     <?php for($i = 0; $i < count($data); $i++) { ?> 
       <label for='<?php echo $data[$i]; ?>'> <?php echo $data[$i]?></label> 
       <select name='<?php echo $data[$i]; ?>' id = '<?php echo $data[$i]; ?>'> 
        <?php foreach($values as $val){ ?>   
         <option value='<?php echo $val; ?>'> <?php echo $val ?> </option> 
        <?php } ?>  
       </select> 
     <?php } ?> 
     <button type="submit" name="submit" value="submit">Submit</button> 
    </form> 
関連する問題