4
respostas

Alteração de GET para POST deu erro

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

  1. Home
  2. Adicionar Produto
Nome do Produto:
Preço do Produto:
Descrição do Produto:

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

//Função para adicionar produto <?php include("header.php"); include("conexao.php"); include("functions.php");

$nome = $_POST["nome"]; $preco = $_POST["preco"]; $descricao = $_POST["descricao"];

if(inserePrduto($conexao, $nome, $preco, $descricao)) {

?>

O produto <?= $nome; ?>, que custa R$ <?= $preco; ?> foi adicionado!

<?php } else {

$msg = mysqli_error($conexao);

?>

Ops! O produto <?= $nome; ?>, não foi adicionado: <?= $msg; ?>

<?php

}

?>

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

4 respostas

Uma dica Ricardo coloca o seu código como código para facilitar a leitura dos membros do FÓRUM !!

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

Home
Adicionar Produto
Nome do Produto:
Preço do Produto:
Descrição do Produto:
<?php include("footer.php"); ?>

//Função para adicionar produto <?php include("header.php"); include("conexao.php"); include("functions.php");

$nome = $_POST["nome"]; $preco = $_POST["preco"]; $descricao = $_POST["descricao"];

if(inserePrduto($conexao, $nome, $preco, $descricao)) {

?>

O produto <?= $nome; ?>, que custa R$ <?= $preco; ?> foi adicionado!

<?php } else {

$msg = mysqli_error($conexao);

?>

Ops! O produto <?= $nome; ?>, não foi adicionado: <?= $msg; ?>

<?php

}

?>

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

Não entendi muito o seu problema que está acontecendo mais observei que tem um erro de digitação no if abaixo

Olha o método insereProduto está escrito errado !!

if(inserePrduto($conexao, $nome, $preco, $descricao)) {  <- errado o nome do método

Entendi meu caro, então será se é por isso que com o método GET funciona normal, ele adiciona no BD e exclui normalmente e quando mudei para o POST ele deu erro por causa do método errado?

Segue o formulário alterado para método POST

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

      <ol class="breadcrumb">
        <li><a href="index.php">Home</a></li>
        <li class="active">Adicionar Produto</li>
      </ol>

      <form action="adiciona-produto.php" method="post">
        <div class="form-group">
          <label for="nomeProduto">Nome do Produto:</label>
          <input class="form-control" type="text" name="nome">
        </div>
        <div class="form-group">
          <label for="precoProduto">Preço do Produto:</label>
          <input class="form-control" type="number" name="preco">
        </div>
        <div class="form-group">
          <label for="descProduto">Descrição do Produto:</label>
          <textarea name="descricao" class="form-control"></textarea>
        </div>
        <input class="btn btn-default btn-primary" type="submit" value="Cadastrar Produto">
      </form>

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

Segue o código php do formulário:

<?php 
  include("header.php");
  include("conexao.php");
  include("functions.php");

  $nome = $_POST["nome"];
  $preco = $_POST["preco"];
  $descricao = $_POST["descricao"];

  if(inserePrduto($conexao, $nome, $preco, $descricao)) { 

?>

  <p class="alert-success">O produto <b><?= $nome; ?></b>, que custa R$ <b><?= $preco; ?></b> foi adicionado!</p>  

  <?php } else {

    $msg = mysqli_error($conexao);

  ?>

  <p class="alert-danger">Ops! O produto <b><?= $nome; ?></b>, não foi adicionado: <?= $msg; ?></p>  

  <?php            

  }

  ?>

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

Qual erro que dá !!! Posta o erro !!! Não sei te dizer se é pelo método olha onde tu criou o método e ve se é o mesmo nome !!

Outra coisa tu tem que ver é na exclusão geralmente precisa do id, que no método get é passado pela url porém no método post não.

Por isso preciso do erro está acontecendo !!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software