Good afternoon guys. I have a problem that I can not find a solution for.
I made a form to save the registrations of a web site, but many times the same registration is saved several times (see print)
Ivalidatetheentireformsoasnottoriskgivingnone,butIcannotsolvethisproblem,belowisthecodetoregister
UPDATE---
Belowisthecodethatisalmostcomplete,Ijustremovedthecodefromtheformandpartofthecodethatmountsthebodyoftheemailsent,soitdoesnotgettoobig.
classcompra_onlineControllerextendsbaseController{publicfunctionindex(){$args=func_get_args();if(isset($args[0])&&$args[0]=='nobanner')$vars['arg']=$args[0];else$vars['arg']='banner';if(defined('CANONICAL'))$vars['canonical']=CANONICAL;$this->visitCheck();newLoad('index',$vars);}publicfunctionassinar(){$args=func_get_args();if(isset($args[0]))$vars['arg']=$args[0];$package=newPackageModel();$package->selectById((int)$vars['arg']);$vars['text']=$package->getHtml().'//aquificoocódigodoformulario/////fimformulario';if(isset($_POST['txtNome'])&&$_POST['txtNome']!=''&&isset($_POST['txtTel1'])&&$_POST['txtTel1']!=''&&isset($_POST['txtEmail'])&&$_POST['txtEmail']!=''){require_once(SITE_PATH.'inc/phpmailer/class.phpmailer.php');//codigoquemontacorpoemail$message_html.='<b>Nome:</b>'.$_POST['txtNome'].'<br>';$message_html.='<b>Sexo:</b>'.$_POST['txtSexo'].'<br>';$message_html.='<b>CPF:</b>'.$_POST['txtCpf'].'<br>';$message_html.='<b>RG:</b>'.$_POST['txtRg'].'<br>';..../*---------------------------------*///codigoquemontacorpoemail$message_txt.='<b>Nome:</b>'.$_POST['txtNome'].'<br>';$message_txt.='<b>Sexo:</b>'.$_POST['txtSexo'].'<br>';$message_txt.='<b>CPF:</b>'.$_POST['txtCpf'].'<br>';$message_txt.='<b>RG:</b>'.$_POST['txtRg'].'<br>';$message_txt.='Porfavor,nãorespondaestee-mail.'."\r\n";
.......
$mail = new PHPMailer();
try {
$mail->addAddress(EMAIL, 'Contato');
$mail->Subject = $subject;
$mail->msgHTML($message_html);
$mail->AltBody = $message_txt;
$mail->send();
if($mail->send()){
$vars['script'] = "window.location.href='".SITE_HTTP.PREF_HOST.SELF_PATH."controllers/obrigado_2.html'; "; //Nessa pagina , obrigado_2.html , tem os códigos de conversão do GOOGLE ADWORDS , Bing Ads e Facebook Ads , nela também é feito o redirecionamento.
}
$this->visitCheck(true);
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
}
else {
$this->visitCheck();
}
if (defined('CANONICAL'))
$vars['canonical'] = CANONICAL;
new Load('compra_online', $vars);
}
function inserir_contato($pdo,$corrige){
try {
$arr = array();
$sql = 'INSERT INTO contatos(telefone)VALUES(:telefone)';
$stmt = $pdo->prepare($sql);
$dados = array(
':telefone' => str_replace($corrige, "", $_POST['txtTel1'])
);
$stmt-> execute($dados);
$linha = $stmt->rowCount();
if($linha == 1){
return $stmt = $pdo->lastInsertId();
$pdo = null;
}else{
return 0;
}
} catch(Exception $e) {
print 'Erro ao inserir os dados no banco: ' . $e->getMessage();
}
}
function inserir_contato_nome($pdo,$id_contato){
try {
$arr = array();
$sql = 'INSERT INTO contato_dados_nome(id_contato,nome)VALUES(:id_contato,:nome)';
$stmt = $pdo->prepare($sql);
$dados = array(
':id_contato'=> $id_contato,
':nome' => $_POST['txtNome']
);
$stmt-> execute($dados);
$linha = $stmt->rowCount();
if($linha == 1){
$arr['retorno'] = 1;
$pdo = null;
}else{
$arr['retorno'] = 0;
}
} catch(Exception $e) {
print 'Erro ao inserir os dados no banco: ' . $e->getMessage();
}
return $arr;
}
function inserir_contato_dados($pdo,$id_contato,$corrige){
try {
$arr = array();
$data = explode("/",$_POST['txtData_nasc']);
$data_nasc = $data[2]."-".$data[1]."-".$data[0];
$sql = 'INSERT INTO contato_dados_principal(id_contato,tipo_contato,data_nascimento,sexo,telefone_2)
VALUES
(:id_contato,:tipo,:data,:sexo,:telefone_2)';
$stmt = $pdo->prepare($sql);
$dados = array(
':id_contato' => $id_contato,
':tipo' => 'fisica',
':data'=> $data_nasc,
':sexo' => $_POST['txtSexo'],
':telefone_2' => str_replace($corrige, "", $_POST['txtTel2'])
);
$stmt-> execute($dados);
$linha = $stmt->rowCount();
if($linha == 1){
$arr['retorno'] = 1;
$pdo = null;
}else{
$arr['retorno'] = 0;
}
} catch(Exception $e) {
print 'Erro ao inserir os dados no banco: ' . $e->getMessage();
}
return $arr;
}
function inserir_contato_pessoa_fisica($pdo,$id_contato,$corrige){
try {
$arr = array();
$sql = 'INSERT INTO contato_pessoa_fisica(id_contato,rg,cpf)VALUES(:id_contato,:rg,:cpf)';
$stmt = $pdo->prepare($sql);
$dados = array(
':id_contato' => $id_contato,
':rg' => str_replace($corrige, "", $_POST['txtRg']),
':cpf' => str_replace($corrige, "", $_POST['txtCpf'])
);
$stmt-> execute($dados);
$linha = $stmt->rowCount();
if($linha == 1){
$arr['retorno'] = 1;
$pdo = null;
}else{
$arr['retorno'] = 0;
}
} catch(Exception $e) {
print 'Erro ao inserir os dados no banco: ' . $e->getMessage();
}
return $arr;
}
function inserir_contato_endereco($pdo,$id_contato,$corrige){
try {
$arr = array();
$sql = 'INSERT INTO contato_endereco(id_contato,tipo,cep,rua,numero,bairro,cidade,uf)
VALUES (:id_contato,:tipo,:cep,:rua,:num,:bairro,:cidade,:uf)';
$stmt = $pdo->prepare($sql);
$dados = array(
':id_contato' => $id_contato,
':tipo' => $_POST['txtTipo_endereco'],
':cep' => str_replace($corrige, "", $_POST['txtCep']),
':rua' =>$_POST['txtRua'],
':num' => $_POST['txtNumero'] ,
':bairro' => $_POST['txtBairro'],
':cidade' => $_POST['txtCidade'],
':uf' => $_POST['txtEstado']
);
$stmt-> execute($dados);
$linha = $stmt->rowCount();
if($linha == 1){
$arr['retorno'] = 1;
$pdo = null;
}else{
$arr['retorno'] = 0;
}
} catch(Exception $e) {
print 'Erro ao inserir os dados no banco: ' . $e->getMessage();
}
return $arr;
}
if(isset($_POST['enviar'])){
$corrigir = array(' ','-','(',')','.');
$contato = new compra_onlineController();
$conexao = $contato->fn_conexao();
$id = $contato->inserir_contato($conexao,$corrigir);
$contato->inserir_contato_nome($conexao,$id);
$contato->inserir_contato_dados($conexao,$id,$corrigir);
$contato->inserir_contato_pessoa_fisica($conexao,$id,$corrigir);
$contato->inserir_contato_endereco($conexao,$id,$corrigir);
}
EDIT -
Page thank you_2.html
//codigo do adwords
//codigo bing
<body>
<script>
alert('Obrigado pelas informações.Qualquer dúvida ligue grátis ou fale conosco através de nosso chat.');
window.location.href="http://site.com.br";
</script>
</body>
Why is the insertion several times in the same register? I find it difficult to be the user because it happened several times.
Thank you in advance.