Jump to content
Fórum Script Brasil
  • 0

Formulario dinamico com gravação db


Charles Goudinho da Silva

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...