Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
E ai galera, beleza?A questão e a seguinte eu to testando uma implementação com a conexão PDO e classes com vo, bo e dao. Eu queria colocar o ajax pra página não fazer o refresh.
meu formulario que envia os dados para um arquivo js pra validar e mandar esses dados pro arquivo enviar.php
submitHandler: function(form) {
//$("#formularioCadastro").submit(function() {
// Colocamos os valores de cada campo em uma váriavel para facilitar a manipulação
var nome=$("#nome").val();
var email=$("#email").val();
var mensagem=$("#mensagem").val();
var dataCadastro=$("#dataCadastro").val();
// Exibe mensagem de carregamento
$("#status").html("<img src='loader.gif' alt='Enviando' />");
// Fazemos a requisão ajax com o arquivo envia.php e enviamos os valores de cada campo através do método POST
$.post('envia.php', {nome: nome, email: email, mensagem: mensagem, dataCadastro: dataCadastro }, function(resposta) {
// Quando terminada a requisição
// Exibe a div status
$("#status").slideDown();
// Se a resposta é um erro
if (resposta != false) {
// Exibe o erro na div
$("#status").html("Os Dados não foram cadastrados!");
}
// Se resposta for false, ou seja, não ocorreu nenhum erro
else {
// Exibe mensagem de sucesso
$("#status").html("Dados cadastrados com sucesso!");
$("#nome").val("");
$("#email").val("");
$("#mensagem").val("");
no arquivo enviar php eu mando pra classe BO
$ubo = new UsuarioBO();
//pego os valores digitados
$nome=$_POST['nome'];
$email= $_POST['email'];
$mensagem=$_POST['mensagem'];
$dataCadastro= $_POST['dataCadastro'];
//envio pra classe UsuarioBO através do método UsurioBO
$ubo->insereUsuario($nome,$email,$mensagem,$dataCadastro);
na clase BO eu envio para a clase DAO
public function insereUsuario($nome, $email, $mensagem, $dataCadastro)
{
//instancio a classe Usuario e crio o objeto $usuario1
$usuario1 = new Usuario();
$usuario1 -> setNome($nome);
$usuario1 -> setEmail($email);
$usuario1 -> setMensagem($mensagem);
$usuario1 -> setDataCadastro($dataCadastro);
//instancio a classe UsuarioDAO e crio o objeto $usuariodao1
$usuariodao1 = new UsuarioDAO();
$usuariodao1->insereUsuario($usuario1);
}
na classe DAO usando a conexão e os métodos PDO
class UsuarioDAO extends PDOConnectionFactory {
private $conex;
public function __construct() {
$this->conex = parent::getConnection ();
}
public function insereUsuario($usuario) {
try {
$this->conex->beginTransaction();
$stmt = $this->conex->prepare( "INSERT INTO usuarios (nome,email,mensagem,dataCadastro)VALUES(?,?,?,?)" );
$stmt->bindValue ( 1, $usuario->getNome () );
$stmt->bindValue ( 2, $usuario->getEmail () );
$stmt->bindValue ( 3, $usuario->getMensagem () );
$stmt->bindValue ( 4, $usuario->getDataCadastro () );
$stmt->execute();
$this->conex->commit();
$this->conex = null;
return true;
} catch ( PDOException $ex ) {
$this->conex->rollBack();
}
}
}
A questão e a seguinte como eu faço pra saber se os dados foram inseridos no banco e retorna essa informação pra classe enviar e mostra a mensagem que os dados foram cadastrados sem refresh.
Dese de já eu agradeço pela atenção!!!
Carregando comentários...