Onde está o erro?
OLá amigos.
Venho pedi a ajuda de vocês pq nen o mysql tá encontrando...kkk...muito menos eu.
É o seguinte, tenho a página html com os inputs com o mesmo nome dos campos no banco de dados. Já reviseis várias vezes.
Esses valores são enviados via $_POST[] para a pagina php que realiza pega os resultados dos posts e monta uma string SQL
Quando nenhum campo é preenchido insere normalmente no BD, quando algo é preenchido não vai.
Acredito que o erro esteja com as aspas. Se alguem puder da uma luz ae.
obs: usando o try catch não retorna nenhum erro, como se tivesse sido insertado os dados, mas no banco..nada nada.
Já Aproveitando, praticamente aboli o jquery, alguem sabe uma função que substitua a função $(elem).load()??
Mas que funcione corretamente, carregando HTML,CSS e Javascript?
Ja Agradeço
Pagina HTML
<div id='menu-page'>
<li class='btn-menu-page' id='btn-salvar-cliente'><img src="img/cliente-salvar.png"><br><span>Salvar</span></li>
</div>
<div id='content-nome'>
<img src="img/cliente-foto-null.png">
<div><input readonly class="capitalize" style="position:relative; top:10px;" value='Novo Cliente'></div><br>
</div>
<div id='content-dados' >
<div class='content-group'><img src="img/pessoal-icon.svg">Informações pessoais</div>
<div class='content-info'>
<span>Nome</span><br>
<input id='nome' class="capitalize" maxlength="120" required>
</div>
<div class='content-info' style="width:145px;">
<span>CPF</span><br>
<input id='cpf' mask='cpf'>
</div>
<div class='content-info' style="width:145px;">
<span>RG</span><br>
<input id='rg' maxlength="20">
</div>
<div class='content-info' style="width:145px;">
<span>Data Nascimento</span><br>
<input id='nascimento' mask='date' >
</div>
<div class='content-group'><img src="img/mapa-icon.svg">Localização</div>
<div class='content-info'>
<span>Endereço</span><br>
<input id='endereco' class="capitalize" max="100">
</div>
<div class='content-info' style="width:145px;">
<span>Número</span><br>
<input id='numero' mask='num' maxlength="10">
</div>
<div class='content-info' style="width:145px;">
<span>Bairro</span><br>
<input id='bairro' class="capitalize" maxlength="50">
</div>
<div class='content-info'>
<span>Cidade</span><br>
<input id='cidade' class="capitalize" maxlength="80" list='cidades-list'>
</div>
<div class='content-info' style="width:145px;">
<span>CEP</span><br>
<input id='cep' mask='cep'>
</div>
<div class='content-info' style="width:145px;">
<span>Estado</span><br>
<input id='estado' class="capitalize" maxlength="30">
</div>
<div class='content-group'><img src="img/contato-icon.svg">Contatos</div>
<div class='content-info'>
<span>Facebook</span><br>
<input id='facebook' maxlength="200">
</div>
<div class='content-info'>
<span>Email</span><br>
<input id='email' mask='email' maxlength="200">
</div>
<div class='content-info' style="width:145px;">
<span>Telefone</span><br>
<input id="telefone" mask='phone'>
</div>
<div class='content-info' style="width:145px;">
<span>Celular</span><br>
<input id='celular' mask='celular'>
</div>
<div class='content-info' style="width:145px;">
<span>WhatsApp</span><br>
<input id='whatsapp' mask='celular'>
</div>
<!--<div class='content-group'><img src="img/status-icon.svg">Situação</div>
<div class='content-situacao'>
<input type="radio" value="Ativo" >Ativo
<input type="radio" value="Ativo" style="margin-left:35px;">Inativo
</div>-->
<div class='content-group'><img src="img/obs-icon.svg">Observações</div>
<textarea id='obs'></textarea>
</div>
<script>
//Ao clicar no botão salvar
document.querySelector('#btn-salvar-cliente').onclick = function(){
//Cria o array de elementos e valores
var elem = document.querySelectorAll('#content-dados input,textarea');
var dataList = {};
for(i=0; elem.length > i; i++){
dataList[String(elem[i].getAttribute('id'))] = String(elem[i].value);
}
//Define a ação a ser tomada
dataList['action'] = "insert";
//COnverta em Json
var result = JSON.parse(JSON.stringify(dataList));
//Envia para página com o resultado json
$('#view').load('clientes/teste.php',result);
}
//Ao editar o nome..edita no topo
document.querySelector('#nome').onkeyup = function(){
if(this.value == ''){
document.querySelector('#content-nome div input').value = 'Novo Cliente';
}else{
document.querySelector('#content-nome div input').value = this.value;
}
}
//Adicona o efeito de input ativo
var input = document.querySelectorAll('#content-dados input,textarea');
for(i=0; i < input.length; i++){
input[i].classList.add('input-active');
}
//Funcão mascara
inputMask();
</script>
Página PHP
<?php
//Função responsavel passar data para o padrao do BD
function dataEN($dataPT){
$data = explode('/',$dataPT);
$dataEN = $data[2] . "-" . $data[1] . "-" . $data[0];
return $dataEN;
}
//Pega a data do dia de hoje para inserção no BD
$data = date('Y-m-d');
/*Pega todos os $_POST[''] e os tranforma em variais
foreach($_POST as $nome_campo => $valor){
$comando = "\$" . $nome_campo . "='" . $valor . "';";
eval($comando);}*/
//Tenta fazer uma conexão com o banco de dados
try{
$conn = new PDO('mysql:host=localhost;dbname=' . 'appempresas.com', 'root', '');
}catch(PDOException $e){
echo "Erro ao se conectar com o banco de dados<br>";
echo "Erro:" . $e->getMessage();
}
//Faz a inserção de dados no BD
if($_POST['action'] == 'insert'){
//Cria duas variaveis que receberão de campos e valores
$campos = "";
$valores = "";
//Coleta todos os campos
foreach($_POST as $nome_campo => $valor){
if($valor != "" && $nome_campo !="action"){
$campos .= $nome_campo . ",";
}
}
//Coleta todos os valores
foreach($_POST as $nome_campo => $valor){
if($valor != "" && $nome_campo != "action"){
if (preg_match('/^\d{1,2}\/\d{1,2}\/\d{4}$/', $valor)) {
$valores .= dataEN($valor) . ",";
}else{
$valores .= $valor . ",";
}
}
}
//Removendo a ultima virgula
$campos = substr($campos, 0, -1);
$valores = substr($valores, 0, -1);
//Adicionando o campo desde = data de hoje
$campos .= ",desde";
$valores .= ",$data";
//Monta a string sql
$stringSql = "INSERT INTO tbl_clientes (" . $campos . ") VALUES (" . $valores . ")";
echo $stringSql;
try{
$conn->query($stringSql);
echo "<script>message('Novo cliente adicionado com sucesso!','info');</script>";;
}catch(PDOException $e){
echo "Erro ao se inserir dados no banco.<br>";
echo "Erro:" . $e->getMessage();
}
}
?>
Tabela banco de dados
CREATE TABLE `tbl_clientes` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`nome` varchar(120) DEFAULT NULL,
`cpf` varchar(20) DEFAULT NULL,
`nascimento` date DEFAULT NULL,
`endereco` varchar(150) DEFAULT NULL,
`numero` varchar(10) DEFAULT NULL,
`bairro` varchar(100) DEFAULT NULL,
`cidade` varchar(100) DEFAULT NULL,
`cep` varchar(10) DEFAULT NULL,
`estado` varchar(100) DEFAULT NULL,
`facebook` varchar(250) DEFAULT NULL,
`email` varchar(200) DEFAULT NULL,
`telefone` varchar(20) DEFAULT NULL,
`celular` varchar(20) DEFAULT NULL,
`whatsapp` varchar(20) DEFAULT NULL,
`obs` text,
`desde` date DEFAULT NULL,
`situacao` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1Discussão (2)
Carregando comentários...