Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

GET ou POST?

meu código está funcionando com GET, mas na aula está com POST, mas quando eu mudo, aparece alguns erros. MEU CÓDIGO funcionando antes da mudança:

<?php include("cabecalho.php"); 
include("conecta.php"); 
include("banco-produto.php");

$nome = $_GET['nome'];
$preco = $_GET['preco'];
$descricao = $_GET['descricao'];
$categoria_id = $_GET['categoria_id'];


if(insereProduto($conexao, $nome, $preco, $descricao, $categoria_id)) {
?>
<p class="text-success">Produto <?= $nome; ?>, <?= $preco; ?> adicionado com sucesso!</p>
<?php
} else {
    $msg = mysqli_error($conexao);
?>
<p class="text-danger">O produto <? = $nome; ?> não foi adicionado: <?= $msg?></p>
<?php
}

?>

<?php include("rodape.php"); ?>

Msg de erro quando mudo de GET para POST: Notice: Undefined index: nome in C:\xampp\htdocs\loja\adiciona-produto.php on line 5

Notice: Undefined index: preco in C:\xampp\htdocs\loja\adiciona-produto.php on line 6

Notice: Undefined index: descricao in C:\xampp\htdocs\loja\adiciona-produto.php on line 7

Notice: Undefined index: categoria_id in C:\xampp\htdocs\loja\adiciona-produto.php on line 8 O produto não foi adicionado: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '', )' at line 1

trecho que mudei no adiciona-produto.php
$nome = $_POST['nome'];
$preco = $_POST['preco'];
$descricao = $_POST['descricao'];
$categoria_id = $_POST['categoria_id'];
2 respostas
solução!

Tem que analisar o que está na págian "adiciona-produto.php", ela que tem que dizer quais serão os atributos e formato de envio.

Se lá, a forma de enviar as variáveis está "GET", você só conseguirá resgatar get.

Tem que mudar na página que solicita as informações e na página que recebe as informações.

achei aqui no stackoverflow que tenho que alterar no form com method="post"