在我网站上的一个表格中,我有一个<select>这样的字段:
<select name="doorno" required>
<option></option>
<option>01</option>
<option>02</option>
<option>03</option>
<option>04</option>
<option>05</option>
<option>06</option>
<option>07</option>
<option>08</option>
<option>09</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
</select></p>
Run Code Online (Sandbox Code Playgroud)
用户应该能够选择01 - 24之间的数字 - 对吗?
但是在存储这些条目的表中,我看到如下条目:
01,05
Run Code Online (Sandbox Code Playgroud)
怎么会发生这种情况?当我尝试输入字段时我无法进行 - 我只能选择列表中的一个选项?
知道用户如何设法输入上面的选项吗?
编辑 基于一些评论,我查看了数据库的后端,发现用户做了多个选择.所以现在问题有另一个相关的问题:
如果我没有在SELECT元素中指定MULTIPLE属性,是否意味着用户可以克服单个选择的默认行为?
很简单,用户已经使用开发人员工具或使用JavaScript编辑了他的DOM.但事实是,这不是用户的错.
你不能盲目地信任来自客户的意见,你应该总是验证你所期望的(在这种情况下,数字在1到24之间)是你得到的.在这种情况下,可以通过以下方式轻松完成:
$input = (int) $input;
if ($input > 0 && $input <= 24) {
Run Code Online (Sandbox Code Playgroud)
始终验证输入.总是.
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |