I created a form with a system of registration with images and strings and it worked perfectly.
I tried to add another product without leaving the page and now the form with the class I created does not work anymore, does anyone have any idea what might have happened?
A function:
function cadastroComFoto($tabela, $dados){
$con = conectar();
$nomeArquivo = $_FILES["imagem"]["name"];
$nomeTemporario = $_FILES["imagem"]["tmp_name"];
$tamanhoArquivo = $_FILES["imagem"]["size"];
$caminho = 'uploads/';
$arquivoArray = explode(".", $nomeArquivo);
$extensao = end($arquivoArray);
$arquivo = $caminho.md5(time().rand(3212, 15452)).'.'.$extensao;
if (!is_dir($caminho)) {
mkdir($caminho);
chmod($caminho, 777);
}
if (move_uploaded_file($nomeTemporario, $arquivo)) {
foreach($_POST as $key => $val){
//Percorre os indices passados por POST armazanando em $key e os valores em $val
$campo[] = $key; // Cria um array $campo com os indices
$valor[] = "'$val'"; // Cria um array $valor com os valores
$campos = implode(",", $campo); // Junta os indices de $campo com virgula
$valores = implode(',', $valor); // Junta os valores de $valor com virgula
}
// Prepara a inserção no banco de dados
$inserir = $con->prepare("INSERT INTO $tabela($campos, imagem) VALUES($valores,'$arquivo')");
$inseri = $inserir->execute(); // Execute a inserção
if ($inserir) { // Caso a inserção ocorra bem exibira uma mensagem de sucesso.
echo '<div class="alert alert-success" role="alert">Salvo com sucesso!</div>';
}
else { // Caso a inserção ocorra mal exibira uma mensagem de erro.
echo '<div class="alert alert-danger" role="alert">Erro ao inserir no banco de dados!</div>';
}
unset($campos); //Apaga os valores passados por POST --
unset($valores);// -- para que o usuario não precise sair da pagina e voltar de novo para efetuar outra inserção.
}
}
The function call:
<?php //Chama a função inserir caso tenha algum dado em POST (includes/conexao)
if ($_POST) {
cadastroComFoto('produtos', $_POST); } ?>
The form:
<form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
<fieldset>
<!-- Form Name -->
<legend>Novo Produto</legend>
<!-- Text input-->
<div class="form-group">
<label class="col-md-1 control-label" for="nome">Nome</label>
<div class="col-md-6">
<input id="nome" name="nome" type="text" placeholder="" class="form-control input-md" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-1 control-label" for="imagem">Imagem:</label>
<div class="col-md-2">
<input type="file" name="imagem"/>
</div>
</div>
<!-- Textarea -->
<div class="form-group">
<label class="col-md-1 control-label" for="inputDefault">Descrição <br /> <small>Evite grandes textos</small></label>
<div class="col-md-9">
<textarea rows="10" id="area1" cols="120" name="descricao"></textarea>
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-1 control-label" for="destaque">Destaque:</label>
<div class="checkbox">
<label>
<input type="checkbox" name="destaque">Produto em destaque <br>
<small>Selecione esta opção se deseja que o produto apareceça na pagina principal</small>
</label>
</div>
</div>
<!-- Button -->
<div class="form-group">
<label class="col-md-1 control-label" for="salvar"></label>
<div class="col-md-5">
<button id="salvar" class="btn btn-primary btn-lg" >Salvar</button>
</div>
</div>
</fieldset>
</form>