使用帖子在表单中没有提交多个选项?

时间:2016-05-24 05:16:02

标签: php html

我正在尝试创建一个表单,我需要允许用户针对某些标签选择不同的值(来自select标签)。 我在php中有两个不同的数组。

  1. 包含select标签的标准数组。
  2. 要针对标签选择的一组值。
  3. 我的问题是,当我按下提交按钮时,表单已提交,但$_POST未显示select标签选择的任何值。我想根据标签获取选定的值。

    这是我的代码:

    <?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'];
    }
    ?>
    

    当我按下提交按钮时,我得到的错误是“通知:未定义的索引:名称”。我已经在已发布的关于多个选择语句的问题中进行了广泛搜索,但没有一个答案符合我的标准。谢谢您的帮助。

2 个答案:

答案 0 :(得分: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'];
}
?>

答案 1 :(得分:0)

你没有在selectbox中的每个变量之前写回声:

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