PHP: проверка того, какие поля отмечены в форме, а затем сохранение этих значений в базе данных

#php #checkbox

#php #флажок

Вопрос:

Таким образом, html-код отображает форму с флажками.

У меня возникли проблемы с php-кодом.

Я не понимаю, почему if ( isset( $_POST["Submit"] ) ) не оценивается как true и, таким образом, выводит «Да, почта установлена».

Это первая и самая простая проблема, с которой я имею дело.

После того, как я узнаю, как проверить, какие поля проверяются, как мне затем сохранить эти значения в виде столбца в таблице моей базы данных на bluehost?

Спасибо.

HTML:

 <html>
<form method="POST"> 
<table style="width:300px">

<tr>

  <td>  <font color="#bf2624">
  Protein 1 <input type="checkbox" name="nutrient[Protein 1]" value="protein 1" /><br/> </td>

  <td> <font color="#c67622">
  Carbohydrate 1 <input type="checkbox" name="nutrient[]" value="carbohydrate 1"/><br/></td> 

  <td>  <font color ="#0d3aa3">
  Fat 1 <input type="checkbox" name="nutrient[]" value="fat 1" /><br/></td>

</tr>

<tr>
  <td>  <font color="#bf2624">
  Protein 2 <input type="checkbox" name="nutrient[]" value="protein 2" /><br/></td>

  <td><font color="#c67622">
  Carbohydrate 2 <input type="checkbox" name="nutrient[]" value="carbohydrate 2"   /><br/></td> 

  <td>   <font color ="#0d3aa3">
  Fat 2 <input type="checkbox" name="nutrient[]" value="fat 2" /><br/><br/></td>

</tr>

<tr>
  <td>  <font color="#bf2624">
  Protein 3 <input type="checkbox" name="nutrient[]" value="protein 3" /><br/></td>

  <td><font color="#c67622">
  Carbohydrate 3 <input type="checkbox" name="nutrient[]" value="carbohydrate 3" /><br/><br/>                         

</td> 

</tr>

<tr>
  <td>  <font color="#bf2624">
  Protein 4 <input type="checkbox" name="nutrient[]" value="protein 4" /><br/></td>
</tr>

<tr>
  <td>  <font color="#bf2624">
  Protein 5 <input type="checkbox" name="nutrient[]" value="protein 5" /><br/></td>
</tr>

<tr>
  <td>  <font color="#bf2624">
  Protein 6 <input type="checkbox" name="nutrient[]" value="protein 6" /><br/><br/></td>
</tr>


</table>
<input type="submit" value="Submit" />
<input type='reset' value='Reset'>



<?php  
if ( isset( $_POST["Submit"] ) ) { 
    //if (isset($_POST["Protein 1"]) amp;amp; !empty($_POST["Protein 1"])) {
        echo "Yes, mail is set";    
    //}else{  
        //echo "No, mail is not set";
    //}
}
?>

</form> 
  

Комментарии:

1. Значение внутри $_POST относится к name вашему входному элементу. Как я вижу, вы не установили name для своей кнопки отправки.

2. 1 к @ICanHasKittenz — это решит вашу первую проблему. Что касается вашей второй проблемы — waaay слишком широкий. Поиск в Google для получения руководства по основным операциям php / mysql.

3. if(isset($_POST[‘nutrient’])) { }

4. Вы имеете в виду просто изменение кода кнопки отправки на: <тип ввода=»отправить» имя =»Отправить» значение =»Отправить» /> потому что это, похоже, не работает?

5. Да, это правильная идея. Для устранения неполадок начните с малого — избавьтесь от других ваших входных данных и просто посмотрите, сможете ли вы заставить кнопку отправки работать самостоятельно. Разверните оттуда.