Olá pessoal, tudo bem?
Estou com dificuldade, pois não consegui identificar o seguintes erros no meu código:
Notice: Undefined index: id in C:\xampp\htdocs\php1\produto-formulario.php on line 12
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\php1\banco-produto.php on line 23
Segue os códigos:
produto-formulario.php
<?php
include("cabecalho.php");
include("conecta.php");
include("banco-categoria.php");
include("banco-produto.php");
if(!isset($_COOKIE["usuario_logado"])) {
header("Location: index.php?falhaDeSeguranca=true");
die();
}
$id = $_GET['id'];
$produto = buscaProduto($conexao, $id);
$categorias = listaCategorias($conexao);
?>
<h1>Formulário de cadastro</h1>
<form action="adiciona-produto.php" method="post">
<table>
<tr>
<td>Nome</td>
<td><input class="form-control" type="text" name="nome" value="<?=$produto['nome']?>"></td>
</tr>
<tr>
<td>Preço</td>
<td><input class="form-control" type="number" name="preco" /></td>
</tr>
<tr>
<td>Descrição</td>
<td><textarea name="descricao" class="form-control"></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="checkbox" name="usado" value="true"> Usado</td>
</tr>
<tr>
<td>Categoria</td>
<td>
<select name="categoria_id" class="form-control">
<?php foreach($categorias as $categoria) : ?>
<option value="<?=$categoria['id']?>">
<?=$categoria['nome']?><br/>
</option>
<?php endforeach ?>
</select>
</td>
</tr>
<tr>
<td><input class="btn btn-primary" type="submit" value="Cadastrar" /></td>
</tr>
</table>
</form>
<?php include("rodape.php"); ?>
banco-produto.php
<?php
function listaProdutos($conexao) {
$produtos = array();
$resultado = mysqli_query($conexao, "select p.*,c.nome as categoria_nome from produtos as p join categorias as c on c.id=p.categoria_id");
while($produto = mysqli_fetch_assoc($resultado)) {
array_push($produtos, $produto);
}
return $produtos;
}
function insereProduto($conexao, $nome, $preco, $descricao, $categoria_id, $usado) {
$query = "insert into produtos (nome, preco, descricao, categoria_id, usado) values ('{$nome}', {$preco}, '{$descricao}', {$categoria_id}, {$usado})";
$resultadoDaInsercao = mysqli_query($conexao, $query);
return $resultadoDaInsercao;
}
function alteraProduto($conexao, $id, $nome, $preco, $descricao, $categoria_id, $usado) {
$query = "update produtos set nome ='{$nome}', preco={$preco}, descricao='{$descricao}', categoria_id={$categoria_id}, usado={$usado} where id ='{$id}'";
return mysqli_query($conexao, $query);
}
function buscaProduto($conexao, $id) {
$query = "select * from produtos where id = {$id}";
$resultado = mysqli_query($conexao, $query);
return mysqli_fetch_assoc($resultado);
}
function removeProduto($conexao, $id) {
$query = "delete from produtos where id = {$id}";
return mysqli_query($conexao, $query);
}