Bom, o código está muito dividido, mas só mexi em três:
banco-produto.php:
<?php
function listaProdutos($conexao) {
$produtos = array();
$resultado = mysqli_query($conexao, "select * from produtos");
while($produto = mysqli_fetch_assoc($resultado)){
array_push($produtos, $produto);
}
return $produtos;
}
function insereProduto($conexao, $nome, $preco, $descricao, $categoria_id) {
$query = "insert into produtos (nome, preco, descricao, categoria_id) values ('{$nome}', {$preco}, '{$descricao}', {$categoria_id})";
return mysqli_query($conexao, $query);
}
function removeProduto($conexao, $id){
$query = "delete from produtos where id = {$id}";
return mysqli_query($conexao, $query);
}
produto-formulario.php:
<?php include("cabecalho.php");
include("conecta.php");
include("banco-categoria.php");
$categorias = listaCategorias($conexao);
?>
<h1>Formulário de produto</h1>
<form action="adiciona-produto.php" method="post">
<table class="table">
<tr>
<td>
Nome
</td>
<td>
<input class="form-control" type="text" name="nome">
</td>
</tr>
<tr>
<td>
Preco
</td>
<td>
<input class="form-control" type="number" name="preco">
</td>
</tr>
<tr>
<td>
Descrição
</td>
<td>
<textarea class="form-control" name="descricao"></textarea>
</td>
</tr>
<tr>
<td>
Categoria
</td>
<td>
<?php foreach($categorias as $categoria) : ?>
<input type="radio" name="categoria_id" values="<?=$categoria['id']?>">
<?=$categoria['nome']?></br>
<?php endforeach ?>
</td>
</tr>
<tr>
<td>
<button class= "btn btn-primary" type="submit">Cadastrar</button>
</td>
</tr>
</table>
</form>
<?php include("rodape.php");?>
adicionar-produto.php:
<?php include("cabecalho.php");
include("conecta.php");
include("banco-produto.php");
$nome = $_POST["nome"];
$preco = $_POST["preco"];
$descricao = $_POST['descricao'];
$categoria_id = $_POST['categoria_id'];
if(insereProduto($conexao, $nome, $preco, $descricao, $categoria_id)) { ?>
<p class="text-success"> O produto <?= $nome; ?>, <?= $preco; ?> foi adicionado.</p>
<?php } else {
$msg = mysqli_error($conexao);
?>
<p class="text-danger"> O produto <?= $nome; ?>, <?= $preco; ?> não foi adicionado: <?= $msg?></p>
<?php
}
?>
<?php include("rodape.php");?>