2016-05-24 61 views
-1

我想創建一個表單,我需要允許用戶從一些標籤中選擇不同的值(從選擇標籤)。 我有兩個不同的數組在php中。多個選擇沒有被提交的形式使用職位?

  1. 包含select的標籤的標準數組。
  2. 一組要根據標籤選擇的值。

我的問題是當我按下提交按鈕,表單被提交,但$_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

您還沒有選擇框的每個變量之前寫的回聲:

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