Ir para o conteúdo
nmoa

[Resolvido] validar form com php+jquery

Mensagens Recomendadas

nmoa

boas

tenho aqui uma questão:

tirei este codigo da net e apliquei e gostaria de saber se isto faz algum sentido...

ele está a enviar o email e inscrever na bd mas não como os dados do formulario

a ideia é fazer uma validação com php e jquery

obrigado

<div id="form">
<h1>PREENCHE JÁ COM OS TEUS DADOS</h1>

<?php
if(isset($_POST['nome']) && isset($_POST['email']) && isset($_POST['localidade']) && isset($_POST['texto']) && isset($_POST['telefone'])){
/*function trataValor($valor){
$valor = trim($valor);
$valor = strip_tags($valor);
$valor = addslashes($valor);
return $valor;
}*/
// UTILIZANDO A FUNCAO
//$nome = trataValor($_POST['nome']);
$nome = $_POST['nome'];
$email =$_POST['email'];
$localidade = $_POST['localidade'];
$texto = $_POST['texto'];
$telefone = $_POST['telefone'];
$periodo = $_POST['periodo'];
$hora = $_POST['hora'];
echo $nome;
if(!empty($nome) && !empty($email) && !empty($texto) && !empty($localidade) && !empty($telefone) ){
if(preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/i", $email)){

// ABAIXO PODE SER TROCADO PELO SEUS COMANDOS DO MYSQL
$to = "geral@duitdesign.com";
$subject = "Landing page | Contacto web";

$headers = "MIME-Version: 1.1\r\n";
$headers .= "From: ".$email."\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";


// menssagem
$message ="<html>";
$message .="<head></head>";
$message .= "<body><div style=\" font-size: 12px; margin: 0; padding: 0;\"><br/>
<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" height=\"100%\" border=\"0\">
<tr>
<td align=\"center\" valign=\"top\" style=\"padding: 20px 0 20px 0\">
<table bgcolor=\"FFFFFF\" cellspacing=\"0\" cellpadding=\"10\" border=\"0\" width=\"500\" style=\"border:1px solid #E0E0E0;\">
<tr>
<td valign=\"top\">
<img src=\"http://www.saojoaohealthclub.net/imgs/lp_03.png\"/ ></td>
</tr>

<tr><td> Recebeu um contacto através do site. <br></td></tr><tr>
<td>
<strong style=\"font-size:14px\">Nome: </strong>".$nome."
</td></tr>
<tr>
<td><strong style=\"font-size:14px\">Email: </strong>".$email."</td></tr>
<tr>
<td><strong style=\"font-size:14px\">telefone:</strong>".$telefone."</td></tr>
<tr>
<td>
<strong style=\"font-size:14px\">localidade:</strong>".$localidade."</td></tr>
<tr>
<td>
<strong style=\"font-size:14px\">Periodo para contato:</strong>".$periodo."</td></tr>
<td>
<strong style=\"font-size:14px\">Hora escolhida:</strong>".$hora."</td></tr>

</table>
</tr>
</table>
</div>";
$message .="</body>";
$message .="</html>";
$headers = "From: $email ";
$semi_rand = md5(time());

$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .

 "Content-Type: multipart/mixed;\n" .

 " boundary=\"{$mime_boundary}\"";
$headers .="<style type='text/css'>
body { background:#ccc;}
</style>";
$message .= "This is a multi-part message in MIME format.\n\n" .
 "--{$mime_boundary}\n" .
 "Content-Type:text/html; charset=\"iso-8859-1\"\n" .
 "Content-Transfer-Encoding: 7bit\n\n" .

$message . "\n\n";

mail($to, $subject, $message, $headers);
require_once ("../connect.php"); connect();
$sql="INSERT INTO `registos`(`id_registos`, `nome`, `email`, `telefone`,`localidade`,`id_template`, `periodo`, `hora`,`data_registo`) VALUES (NULL,'".$nome."','".$mail."','".$telefone."','".$localidade."','".$teste."','".$periodo."','".$hora."', now());";
$result=mysql_query($sql);

// ACIMA PODE SER TROCADO PELO SEUS COMANDOS DO MYSQL

}else{
// IMPRIMIMOS O ERRO
echo "Seu e-mail parece estar incorreto!";
}
}
else{
echo "Existem campos obrigatórios em branco";
}
}
else
{}?>
<form id="formulario" enctype="multipart/form-data" method="post" action="<?php $_SERVER['PHP_SELF'];?>" >
<div id="seta"><img src="imgs/seta_07.png"></div>
<br><input id="nome_id" placeholder="Nome" type="text" name="nome" />
<br>
<input id="telefone_id" placeholder="Telefone" type="text" maxlength="9" name="telefone" /><br>
<input type="text" id="email_id" placeholder="Email" name="email" id="email"/><br>
<input type="text" id="localidade_id" placeholder="Localidade" name="localidade" /><br>
<textarea name="texto" id="texto_id" placeholder="Quero esta campanha porque" ></textarea><br>
<select name="periodo" id="periodo_id" >
<option value="">Horário para contato</option>
<option value="manha">Manhã</option>
<option value="tarde">Tarde</option>
<option value="noite">Noite</option>
</select><br><br>
<input type="text" id="hora_id" placeholder="Hora indicada" name="hora" size="10" >
<div id="enviar">
<button name="enviar"><h1>clique já</h1><h2>e SAIBA TUDO!!</h2></button>
</div>
</form>

</div>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pedro43

não é nada complexo. repara no que estás a fazer:

(`id_registos`, `nome`, `email`, `telefone`,` localidade`,`id_template`, `periodo`, `hora`,`data_registo`) VALUES (

NULL,'" .$nome."','".$mail."','".$telefone."','".$localidade."','".$teste."','".$periodo."','".$hora."', now());";

o que é a var $mail ?

o que é a var $teste ?

nao vais enviar o $texto?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nmoa

não é nada complexo. repara no que estás a fazer:

(`id_registos`, `nome`, `email`, `telefone`,` localidade`,`id_template`, `periodo`, `hora`,`data_registo`) VALUES (

NULL,'" .$nome."','".$mail."','".$telefone."','".$localidade."','".$teste."','".$periodo."','".$hora."', now());";

o que é a var $mail ?

o que é a var $teste ?

nao vais enviar o $texto?

de facto tinha um erro no sql, mas já corregi e mesmo assim não me está a inscrever na bd

este codigo deveria chegar para inserir na bd, os dados de ligação à bd já foram chamados no inicio

$sql="INSERT INTO `registos`(`id_registos`, `nome`, `texto`, `email`, `telefone`,`localidade`,`id_template`, `periodo`, `hora`,`data_registo`) VALUES (NULL,'".$nome."','".$texto."','".$email."','".$telefone."','".$localidade."','".$teste."','".$periodo."','".$hora."', NOW())";
$result=mysql_query($sql);

Editado por nmoa

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nmoa

VALUES (NULL,'".

como é que criaste a tabela?

o que retorna $result?

não percebo a tua questão

o result retorna os valores do registo vindo do formulario

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nmoa

o problema esta no if

if(isset($_POST['nome']) && isset($_POST['email']) && isset($_POST['localidade']) && isset($_POST['texto']) && isset($_POST['telefone'])){

está alguma coisa mal nesta parte ? se eu colocar o insert antes deste ponto ele consegue escrever na bd

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.