2015-09-06 106 views
0

我對PHP非常基本的瞭解,因此任何幫助或指向相關教程的鏈接都會有所幫助。將組中已選中的複選框分配給PHP變量

我有三個複選框 - '初學者','中級'和'高級'。我寫了一些jQuery,這意味着只能選擇一個(如單選按鈕)。我想將選中的一個分配給一個PHP變量以在表單上提交,但我找不到任何幫助/我能理解的教程。所有複選框共享同一個類。我會循環他們並選擇一個被檢查的?任何見解都會有很大的幫助。

HTML

<form method="post" action="generate_workout.php" target="_new"> 

    <div class="difficulty-check"> 
     <input type="checkbox" id="easy-check" class="difficulty" name="beginner"/> 
     <label for="easy-check"></label> 
    </div> 

    <div class="difficulty-check"> 
     <input type="checkbox" id="medium-check" class="difficulty" name="intermediate"/> 
     <label for="medium-check"></label> 
    </div> 

    <div class="difficulty-check"> 
     <input type="checkbox" id="hard-check" class="difficulty" name="advanced"/> 
     <label for="hard-check"></label> 
    </div> 

    <input type="submit" value="Generate"/> 

</form> 
+0

你爲什麼不使用單選按鈕而不是複選框使用jQuery限制選擇一個。這僅僅是爲了表現嗎? – blazerunner44

回答

2

如果命名所有複選框,你將能夠訪問在PHP中提交的值相同。例如,將複選框的所有名稱屬性更改爲level。而不是在name屬性中輸入初學者,中級和高級,但是他們在value屬性中。

<form method="post" action="generate_workout.php" target="_new"> 

    <div class="difficulty-check"> 
     <input type="checkbox" id="easy-check" class="difficulty" name="level[]" value="beginner" /> 
     <label for="easy-check"></label> 
    </div> 

    <div class="difficulty-check"> 
     <input type="checkbox" id="medium-check" class="difficulty" name="level[]" value="intermediate" /> 
     <label for="medium-check"></label> 
    </div> 

    <div class="difficulty-check"> 
     <input type="checkbox" id="hard-check" class="difficulty" name="level[]" value="advanced" /> 
     <label for="hard-check"></label> 
    </div> 

    <input type="submit" value="Generate"/> 

</form> 

然後,當表單被提交到generate_workout.php你可以看到哪些複選框被提交,像這樣:

<?php 
var_dump($_POST['level']); //Returns an array of all the check boxes that were clicked 
?> 
+0

工作過!非常感謝:) – ChrisWness

+0

事情是,如果選擇不止一個,會發生什麼?答案:它會覆蓋其他(s)。應該使用單選按鈕,如果只有一個選擇是選項。 –

+0

@ Fred-ii-他不是說他做了一些jQuery,所以用戶只能選擇一個?但是,我同意他應該使用單選按鈕。 – blazerunner44