Ir para conteúdo
Fórum Script Brasil
  • 0

Formulario dinamico com gravação db


Charles Goudinho da Silva

Pergunta

Boa noite, pessoal.

Bom sou novo nessa area de programação, fiz um formulario dinamico, mas quando gravo ele não leva tudo para banco. Abaixo o codigo.

formulario.php

<head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>CADASTRO</title>
        <link rel="stylesheet" href="js/jquery-ui-1.8.16.custom.css" type="text/css" media="all" />
        &lt;script type="text/javascript" src="js/jquery.js"></script>
        &lt;script type="text/javascript" src="js/aplicacao.js"></script>
         &lt;script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
         &lt;script type="text/javascript" src="js/jquery.maskedinput-1.1.4.pack.js">
         </script>
   
          
&lt;script>

$(function() {
//Aplicando a interface do datepicker
$( ".datepicker" ).datepicker({
showOn: "button",
buttonImage: "js/calendario.gif",
buttonImageOnly: true
});

// CONFIGURAÇÃO DO DATEPICKER DO JQUERYUI PARA PT-BR
$.datepicker.setDefaults({dateFormat: 'dd/mm/yy',
dayNames: ['Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado','Domingo'],
dayNamesMin: ['D','S','T','Q','Q','S','S','D'],
dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb','Dom'],
monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro', 'Outubro','Novembro','Dezembro'],
monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set', 'Out','Nov','Dez'],
nextText: 'Próximo',
prevText: 'Anterior'
});

//Aplicando uma máscara o campo de data
$(".datepicker").mask("99/99/9999");

});
</script>        

    </head>

    <body>
    <div style="width:500px; margin:auto;">

  <form id="texte"  action="gravar.php" method="post">
                <fieldset>
                <legend>CADASTRO</legend>
                <p>
                  <label for="fornecedor">FORNECEDOR</label>:
                    <input id="fornecedor" type="text" name="fornecedor" />
                    
                </p>
                                <p>
                    <label for="usuario">USUARIO</label>
                    :
                    <input id="usuario" type="text" name="usuario" />
                </p>
                                <p>
                    <label for="data">DATA</label>
                    : 
                    <input type="text" id="data" name="data" size="30px" maxlength="10" class="datepicker" value="08/02/2012" />
                </p>
                     <p>
                    <label for="total">TOTAL:</label>
                    <input id="total" type="text" name="total" />
                </p>
                        <p>
                    <label for="texto">TEXTO:</label>
                    <input id="texto" type="text" name="texto" />
                     </p>
          <p>
                          <label for="cc">CENTRO DE CUSTO:</label>
        <select name="cc" id="cc">
        <option>Selecione...</option>
        <option value="AC">AC</option>
        <option value="AL">AL</option>
        <option value="AP">AP</option>
        <option value="AM">AM</option>
        <option value="BA">BA</option>
        <option value="CE">CE</option>
        <option value="ES">ES</option>
        <option value="DF">DF</option>
        <option value="MA">MA</option>
        <option value="MT">MT</option>
        <option value="MS">MS</option>
        <option value="MG">MG</option>
        <option value="PA">PA</option>
        <option value="PB">PB</option>
        <option value="PR">PR</option>
        <option value="PE">PE</option>
        <option value="PI">PI</option>
        <option value="RJ">RJ</option>
        <option value="RN">RN</option>
        <option value="RS">RS</option>
        <option value="RO">RO</option>
        <option value="RR">RR</option>
        <option value="SC">SC</option>
        <option value="SP">SP</option>
        <option value="SE">SE</option>
        <option value="TO">TO</option>
          </select>
                        </p>
                </fieldset>
                <fieldset>
                <legend>ITENS</legend>
                <div class="itens">
                <p class="campoItens">
                <label for="doc">DOC:</label>    <input type="text" name="item[]" />
                <br>
<label for="texto">ITEM:</label> 
<input type="text" name="item[]" />
<br>
<label for="texto">CONTA:</label> 
<input type="text" name="item[]" />
                <br>
                <label for="texto">VALOR:</label> 
                <input type="text" name="item[]" />
                <br>
                <label for="texto">CC:</label> 
                <input type="text" name="item[]" />
                <br>
<label for="texto">DESCRIÇÃO:</label> 
<input type="text" name="item[]" />
<br>
<a href="#" class="removerCampo">Remover Campo</a>
                </p>
                </div>
                <p>
                    <a href="#" class="adicionarCampo">Adicionar mais Itens</a>
                </p>
            
                <input name="cadastrar" type="submit" id="gravar" value="Gravar" /> 
                <input name="limpar" type="reset" id="limpar" value="Limpar Campos preenchidos!" />
                <p>    </fieldset>
        </form>
    </div>
    </body>
</html>
gravar.php
<?php

mysql_connect('localhost','root',''); // Realizo a conexão com o banco de dados
mysql_select_db('teste'); // Seleciono o banco de dados



/* Crio uma função ao qual irá esperar o parâmetro tabela */

function gravar($tabela) {

/* Recebo todos os campos do formulário e elimino o último, pois normalmente em um formulário o último input é o submit  e gravo na variável $val */
$val = end($_POST);

/* Procuro pela posição em que o elemento está para excluí-lo da matriz de dados */
$pos = array_search($val, $_POST);

/* Removo o item submit da matriz de dados */
unset($_POST[$pos]);

/* Através do foreach eu percorro todos os campos e todos os conteúdos desses campos */
foreach ($_POST as $campo => $val) {

/* Separo os campos e gravo em uma variável( na verdade uma nova matriz de dados) chamado de $campos[] */
$campos[]   = $campo;

/* Faço o mesmo com o conteúdo, porém utilizo as funções: mysql_real_espace_string para evitar que seja realizado uma tentativa de burlar o banco de dados utilizando injeção de SQL e strip_tags eliminar as tags HTML */

$conteudo[] = mysql_real_escape_string(strip_tags($val));

}

/* Crio a SQL que irá ser inserida no banco de dados   */
$insert = "INSERT INTO $tabela(".implode(',',$campos).") VALUES('".str_replace(",","','",implode(',',$conteudo))."')";

/* Faço a inserção no banco de dados e caso haja algum erro na inserção, será retornado através da função mysql_error() */
mysql_query($insert) or die ('ERRO: '.mysql_error());

/* Caso não haja erros exibi a mensagem de sucesso.  */
echo 'Dados gravados com sucesso';

}

/* Chamo a função gravar passando o parâmetro que é o nome da tabela */
echo gravar('cadastro');

?>
SQL
CREATE TABLE cadastro (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, usuario VARCHAR(60) NOT NULL, dia VARCHAR(60) NOT NULL, total VARCHAR(100) NOT NULL, texto VARCHAR(60), cc VARCHAR(60), item[] VARCHAR(60), texto VARCHAR(60) NOT NULL) ENGINE = InnoDB;;

alguém poderia me ajudar?

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...