Olá. Criei um formulário com os campos nome, cor e preco. Porém quando eu tento adicionar o produto no banco de dados aparece a mensagem: Undefined index: cor . Pelo que pesquisei essa mensagem aparece quando eu não defino o name no campo. Será que é por que eu estou utilizando um select do html?
<?php include("cabecalho.php"); ?>
<?php include("conecta.php"); ?>
<?php include("banco-produto.php"); ?>
<?php include("banco-preco.php");
?>
<h1>Formulário de Produtos</h1>
<form action="adiciona-produto.php" method="post">
<table class="table">
<tr>
<td> Produto:</td>
<td><input type="text" class="form-control" name="nome"></br> </td>
</tr>
<tr>
<td>Preço:</td>
<td>
<input type="number" class="form-control" name="preco"></br>
</td>
</tr>
<tr>
<?php $produtos = listaProdutos($conexao);?>
<td>Cor:</td>
<td>
<select name="cor">
<?php foreach ($produtos as $produto) {?>
<option value="<?= $produto['idprod']?>"><?= $produto['cor']?>
</option>
<?php }
?>
</select>
</td>
</tr>
<tr>
<td><input type="submit" value="Cadastrar"></td>
</tr>
</table>
</form>
<?php include("rodape.php"); ?>
e adiciona-produto.php
<?php
include ("cabecalho.php");
include ("conecta.php");
include ("banco-produto.php");
$nome = $_POST['nome'];
$cor = $_POST['cor'];
$preco = $_POST['preco'];
if (insereProduto($conexao,$nome,$cor,$preco)) {
?>
<p class="alert-success">Produto <?= $nome; ?>, <?= $cor; ?> adicionado com sucesso!</p>
<?php
} else {
?>
<p class="alert-danger">O produto <?= $nome; ?> não foi adicionado</p>
<?php
}
include ("rodape.php");
?>