簡體   English   中英

盡管設置了默認值,但數據庫中未顯示任何值

[英]despite defaultvalue being set, no value shows up in database

 <p>Special Meal Request:<br />
      <label>
      <input type="checkbox" name="dietaryveg" value="yes" />Vegetarian
      </label>
      <label><input type="checkbox" name="dietaryglut" value="yes" />Gluten-Free
      </label>

這就是我決定用於創建的表單的內容。 我沒有使用單選按鈕,因為我只想要一個復選框。 我沒有為復選框賦予相同的名稱,因為它們是數據庫中的不同列,因為用戶可能需要素食和無麩質食物。

但是,當我在mysql工作台中拉出數據庫時,未選中的框仍然顯示,該列中沒有任何值。 然后,我嘗試放置一個隱藏的復選框,其值為no,並且它是默認選中的復選框,等等。但是隨后兩個值在數據庫中都顯示為no。

現在,我意識到php只關心復選框的值,而不關心非復選框的值-但我認為,如果數據庫中存在默認值,則該值應該在其中,就像NULL一樣,不會它?

我真的不希望有一個完全獨立的表來僅針對食物偏好的行-我敢肯定我缺少某些東西。

我可以就處理此問題的最佳方法獲得一些建議嗎?

如果您正在執行以下操作: (isset($_POST['dietarygut']))並且未設置,則該值將為NULL並上傳到數據庫。 發布您的PHP腳本

您認為什么是默認值? 隨着HTML復選框,該value屬性並不意味着默認值,而是價值,如果它的檢查框將一起發送。 如果未選中/未選中,則不會發送值“是”。

就像mlishn在他的回答中所說的那樣,您需要以編程方式檢查是否設置了兩個框中的一個/兩個,如果是,則插入這些值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM