<?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;;
Question
Charles Goudinho da Silva
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
gravar.php SQLalguém poderia me ajudar?
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.