Array
(
)

Erro ao salvar FK

PHP
Lorrana
   - 22 mai 2016

Pessoal,

Tenho o código abaixo, mas quando clico em salvar, dá erro na gravação. O que pode ser?

TABELA NO BANCO
CREATE TABLE tab_entradaestoque(
      id int auto_increment primary key not null,
      id_produto int not null,
id_fornecedor int not null,
valorunitario float(10) not null,
quantidade int not null,
nfiscal int not null,
      data_entrada date not null
FOREIGN KEY (id_fornecedor) references tab_fornecedor(id_fornecedor),
      FOREIGN KEY (id_produto) references tab_produto(id_produto) 
);
ENTRADAPRODUTOESTOQUE.PHP

<?php
include 'conexao.php';
$data = date('d-m-Y');

// Recebe o id do produto via GET
$id_cliente = (isset($_GET['id'])) ? $_GET['id'] : '';
// Valida se existe um id e se ele é numérico
if (!empty($id_cliente) && is_numeric($id_cliente)):
    // Captura os dados do produto solicitado
    $conexao = conexao::getInstance();
    $sql = "SELECT * FROM tab_produto WHERE id_produto = :id";
    $stm = $conexao->prepare($sql);
    $stm->bindValue(':id', $id_cliente);
    $stm->execute();
    $cliente = $stm->fetch(PDO::FETCH_OBJ);
endif;
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="css/custom.css">
</head>
<body>
    <div class='container'>
        <fieldset>
            <legend><h1>Formulário - Registrar Entrada - Estoque</h1></legend>
            
            <?php if(empty($cliente)):?>
                <h3 class="text-center text-danger">Cliente não encontrado!</h3>
            <?php else: ?>
                <form action="action_entradaestoque.php" method="post" id='form-contato' enctype='multipart/form-data'>
                    
                <div class="form-group">
                  <label for="nome">Nome</label>
                  <input type="text" class="form-control" id="nome" name="nome" value="<?=$cliente->nome_produto?>" placeholder="Infome o Nome">
                  <span class='msg-erro msg-nome'></span>
                </div>
                
                <div class="form-group">
                  <label for="valor">Valor Unitário</label>
                  <input type="valor" class="form-control" id="valor" name="valor" placeholder="Informe o Valor Unitário">
                  <span class='msg-erro msg-valor'></span>
                </div>
                
                <div class="form-group">
                  <label for="quantidade">Quantidade </label>
                  <input type="quantidade" class="form-control" id="quantidade" name="quantidade" placeholder="Informe a Quantidade Adquirida"disable>
                  <span class='msg-erro msg-quantidade'></span>
                </div>
                
                <div class="form-group">
                  <label for="nfiscal">Nº Nota Fiscal </label>
                  <input type="nfiscal" class="form-control" id="nfiscal" maxlength="15" name="nfiscal" placeholder="Informe o Nº da Nota Fiscal de Compra">
                  <span class='msg-erro msg-nfiscal'></span>
                </div>
                <div class="form-group">
                    <label for="categoria">Fornecedor</label>
                    <select class="form-control" name="categoria" id="categoria">
                        <option value="">Selecione o Fornecedor</option>
                        
                    <?
                    
                    $sql2= mysql_query("SELECT id_fornecedor, nome_fornecedor FROM tab_fornecedor order by nome_fornecedor") or die("Erro");
                    while ( $query2 = mysql_fetch_array($sql2))
                            {
                                    $id_fornecedor = $query2['id_fornecedor'];
                                    echo "<option value='".$query2['id_fornecedor']."'>".$query2['nome_fornecedor']."</option>";                                
                            }
                    ?>            
                        
                    </select>
                </div>
                    
                    <input type="hidden" name="acao" value="editar">
                    <input type="hidden" name="ids" value="<?=$query2->id_fornecedor?>">
                    <input type="hidden" name="id" value="<?=$cliente->id?>">
                    <button type="submit" class="btn btn-primary" id='botao'> 
                      Gravar
                    </button>
                    <a href='indexprodutoestoque.php' class="btn btn-danger">Cancelar</a>
                </form>
            <?php endif; ?>
        </fieldset>
    </div>
    <script type="text/javascript" src="js/custons.js"></script>
</body>
</html>

ACTION_ENTRADAESTOQUE.PHP

<?

    include "conexao.php";

        // Recebe os dados enviados 
        $acao  = $_POST['acao'];
        $nome = $_POST['nome'];
        $id  = $_POST['id'];
        $valor  = $_POST['valor'];
        $idf  = $_POST['ids'];
        $quantidade = $_POST['quantidade'];
        $nfiscal = $_POST['nfiscal'];
        $categoria = $_POST['categoria'];

        // Valida os dados recebidos

if ($nome == '' || strlen($nome) < 3){
                $mensagem .= '<li>Favor preencher o Nome.</li>';
        
        }
        elseif($categoria == ''){
        $mensagem .= '<li>Favor preencher a Categoria.</li>';
        
    }
        elseif($nfiscal == ''){
        $mensagem .= '<li>Favor preencher o Número da Nota Fiscal de Compra.</li>';
        
    }
        elseif($quantidade == ''){
        $mensagem .= '<li>Favor preencher a Quantidade.</li>';
        
    }
        elseif($valor == ''){
        $mensagem .= '<li>Favor preencher o Valor Unitário.</li>';
        
    }
    
        else{
            $sql = "insert into tab_entradaestoque(id_produto, valorunitario, quantidade, nfiscal, id_fornecedor, dataentrada) 
                values ('$id','$valor','$quantidade','$nfiscal', '$idf', 'now()')";    
            mysql_query($sql) or die ("Erro na tentativa de gravação");