Невозможно вставить данные в базу данных с помощью опции (textarea)

Я получил этот код, но он не вставляет содержимое опции (textarea) в базу данных.

connection.php

<?php $dbhost = "localhost"; $dbuser = "root"; $dbpass = ""; $db = "copy"; $conn = mysqli_connect($dbhost,$dbuser,$dbpass,$db); ?> 

submit.php

 <?php include 'connection.php'; $foodA = $_POST['foodA']; $foodB = $_POST['foodB']; $foodC = $_POST['foodC']; $foodD = $_POST['foodD']; $foodE = $_POST['foodE']; if(!$_POST['submit']) { echo "please fill out the form"; header('Location: select.html'); } else { $sql = "INSERT INTO remove(foodA, foodB, foodC, foodD, foodE) VALUES (?,?,?,?,?);"; $stmt = mysqli_prepare($conn, $sql); mysqli_stmt_bind_param($stmt,"sssss",$foodA,$foodB,$foodC,$foodD,$foodE); mysqli_stmt_execute($stmt); echo "User has been added!"; header('Location: select.html'); } 

select.html

 <html lang="en"> <title>Catering Service</title> <meta charset="utf-8"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script src="js/js.1.js" type="text/javascript"></script> </head> <body> <form action="submit.php" method="post"> <select multiple="multiple" class="options" id="textarea" > <option value="foodA">foodA</option> <option value="foodB">foodB</option> <option value="foodC">foodC</option> <option value="foodD">foodD</option> <option value="foodE">foodE</option> </select> <button type="button" id="copy" onclick="yourFunction()">Copy</button> <button type="button" id="remove" onclick="yourFunction()">Remove</button> <select id="textarea2" multiple class="remove" > <input type="submit" name="submit" /> </form> </select> </html> 

Вам нужно name <select> чтобы вы могли использовать данные.

 name="food[]" 

Как это

 <select multiple="multiple" name="food[]" class="options" id="text area" > <option value="foodA">foodA</option> <option value="foodB">foodB</option> <option value="foodC">foodC</option> <option value="foodD">foodD</option> <option value="foodE">foodE</option> </select> 

Затем, если вы хотите, чтобы значение было 0 или 1, в зависимости от выбранного или нет, вы можете использовать следующее, чтобы заменить это:

 $foodA = $_POST['foodA']; $foodB = $_POST['foodB']; $foodC = $_POST['foodC']; $foodD = $_POST['foodD']; $foodE = $_POST['foodE']; 

в

 $foodA = 0; $foodB = 0; $foodC = 0; $foodD = 0; $foodE = 0; foreach ($_POST['food'] as $value) { if($value == 'foodA') $foodA = 1; if($value == 'foodB') $foodB = 1; if($value == 'foodC') $foodC = 1; if($value == 'foodD') $foodD = 1; if($value == 'foodE') $foodE = 1; } 

Вам нужно назвать свой выбор с именем = пищей или чем-то таким, чтобы оно было в $ _POST ['food']. Каждый параметр в select не отображается в $ _POST, только то, что выбрано, будет в имени выбора. Каждый вариант – это не его собственная вещь.

 <select multiple="multiple" name="food" class="options" id="textarea" > <option value="foodA">foodA</option> <option value="foodB">foodB</option> <option value="foodC">foodC</option> <option value="foodD">foodD</option> <option value="foodE">foodE</option> </select> 

Когда вы сохраните данные, они будут иметь:

 $_POST['food'] with the value of 'foodA' if multiples, it will be 'foodA, foodB'