Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boas Pessoal
Estou a obter um erro num script js ajax que é o seguinte:
Houve um erro Invalid JSON: ERRO:erro devido aparsererror condition.
O código que tenho é:
registo.php
<div id="msg">
</div>
<div id="registo">
<form name="cadastro" id="cadastro" method="post" enctype="multipart/form-data" action="scripts/script_envio_registo.php">
<fieldset>
<h3>Registe-se Gratuitamente...</h3>
<p> Introduza os dados relativos á sua empresa e aumente a visíbilidade da mesma... </p>
<table width="487" border="0">
<tr>
<td> <label for="nome">Nome da Empresa*</label>
<input type="text" id="nome" name="nome" required="required" title="Digite seu nome. Este campo é obrigatório." /> </td>
<td><label>Site</label>
<input type="text" name="web" id="web" /></td>
</tr>
<tr>
<td><label>Email*</label>
<input type="text" name="email" id="email" required="required" title="Digite o seu email." /></td>
<td><label>Morada*</label>
<input type="text" name="morada" id="morada" required="required" title="Indique a sua morada" /></td>
</tr>
<tr>
<td> <label>Distrito*</label>
<input type="text" name="distrito" id="distrito" required="required" title="Indique o seu Distrito" /></td>
<td><label>Concelho*</label>
<input type="text" name="concelho" id="concelho" required="required" title="Indique o seu Cancelho" /></td>
</tr>
<tr>
<td><label>Código-Postal*</label>
<input type="text" name="cp" id="cp" required="required" title="Indique o seu Código-Postal" /></td>
<td><label>Telefone</label>
<input type="text" name="telefone" id="telefone" title="indique o seu nº de telefone" /></td>
</tr>
<tr>
<td> <label>Fax</label>
<input type="text" name="fax" id="fax" title="Indique o seu número de Fax" /></td>
<td><label>Telemóvel</label>
<input type="text" name="telemovel" id="telemovel" title="Indique o seu nº de telemóvel" /></td>
</tr>
<tr>
<td><label>Localidade*</label>
<input id="localidade" type="text" name="localidade" required="required" /></td>
</tr>
<tr>
<td colspan="2"><label>Categoria*</label>
<input id="categoria" type="text" name="categoria" required="required" /></td>
</tr>
<tr>
<td colspan="2"><label>Palavras-Chave</label>
<input type="text" id="palavras_chave" name="palavras_chave" /></td>
</tr>
<tr>
<td colspan="2"><label>Descrição</label>
<textarea name="descricao" id="descricao" required="required" cols="" rows=""></textarea></td>
</tr>
</table>
<input type="submit" name="submit" id="submit" value="submit" />
<!--<input type="submit" class="submit" id="enviar" value="Enviar" onclick="validcadastro.reset(); return false"></input>-->
</fieldset>
</form>
ajax_envio.js
$(document).ready(function() {
$('#msg').hide();
$('#submit').click(function(e) {
e.preventDefault();
var valid = '';
var required = 'é inválido(a)';
var nome = $('input#nome').val();
var web = $('input#web').val();
var email = $('input#email').val();
var morada = $('input#morada').val();
var distrito = $('input#distrito').val();
var concelho = $('input#concelho').val();
var cp = $('input#cp').val();
var localidade = $('input#localidade').val();
var telefone = $('input#telefone').val();
var fax = $('input#fax').val();
var telemovel = $('input#telemovel').val();
var categoria = $('input#categoria').val();
var palavras_chave = $('input#palavras_chave').val();
var descricao = $('textarea#descricao').val();
if (nome == '' || nome.length <=4){
valid = '<p>O nome' +required+ '</p>';
}
if (!email.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)){
valid += '<p>O email' +required+ '</p>';
}
if (morada == '' || morada.length <=5){
valid = '<p>A morada' +required+ '</p>';
}
if (distrito == '' || distrito.length <=2){
valid = '<p>O distrito' +required+ '</p>';
}
if (concelho == '' || concelho.length <=2){
valid = '<p>O concelho' +required+ '</p>';
}
if (cp == '' || cp.length <=7){
valid += '<p>O código postal' +required+ '</p>';
}
if (localidade == '' || localidade.length <=2){
valid = '<p>A localidade' +required+ '</p>';
}
if (categoria == '' || categoria.length <=5){
valid = '<p>A categoria' +required+ '</p>';
}
if (descricao == '' || descricao.length <=5){
valid = '<p>A descrição' +required+ '</p>';
}
if (valid !== ''){
$("#msg").removeClass().addClass('error')
.html('Por favor reveja os campos inválidos' + valid).fadeIn('slow');
}
else{
$("#msg").removeClass().addClass('processing')
.html('Espere por favor...').fadeIn('slow');
var formData = $('form').serialize();
submitForm(formData);
}
});
});
function submitForm(formData){
$.ajax({
type: 'POST',
url: 'scripts/script_envio_registo.php',
data: formData,
dataType: 'json',
cache: false,
timeout: 7000,
success: function(data) {
$("#msg").removeClass().addClass((data.error === true) ? 'error' : 'success')
.html(data.msg).fadeIn('slow');
if ($('#msg').hasClass('success')){
setTimeout("$('#msg').fadeOut('fast')", 5000);
}
},
error: function(XMLHttpRequest, textStatus, errorThrown){
$('#msg').removeClass().addClass('error')
.html('<p>Houve um erro<strong> ' + errorThrown +
'</strong> erro devido a<strong>' + textStatus +
'</strong> condition.</p>').fadeIn('fast');
},
complete: function(XMLHttpRequest, status){
$('form')[0].reset();
}
});
};
envia_registo.php
<?php include "../Connections/config.php"?>
<?php
$nome = trim($_POST['nome']);
$web = trim($_POST['web']);
$email = trim($_POST['email']);
$morada = trim($_POST['morada']);
$distrito = trim($_POST['distrito']);
$concelho = trim($_POST['concelho']);
$cp = trim($_POST['cp']);
$telefone = trim($_POST['telefone']);
$fax = trim($_POST['fax']);
$telemovel = trim($_POST['telemovel']);
$categoria = trim($_POST['categoria']);
$palavras_chave = trim($_POST['palavras_chave']);
$descricao = trim($_POST['descricao']);
$localidade = trim($_POST['localidade']);
/ Vamos checar algum erro nos campos /
if ((!$nome) || (!$email) || (!$morada) || (!$distrito) || (!$concelho) || (!$cp) || (!$categoria) || (!$localidade)){
echo "Não foi possível completar o seu registo, reveja os campos abaixo: <br /><br />";
if (!$nome){
echo "Nome é óbrigatório.<br />";
}
if (!$email){
echo "Preencha o campo email.<br /> <br />";
}
if (!$morada){
echo "A morada é um campo obrigatório.<br /><br />";
}
if (!$distrito){
echo "O distrito é um campo obrigatório.<br /><br />";
}
if (!$concelho){
echo "O Concelho é um campo obrigatório.<br /><br />";
}
if (!$cp){
echo "O Código-Postal é um campo obrigatório.<br /><br />";
}
if (!$categoria){
echo "A Categoria é um campo obrigatório.<br /><br />";
}
if (!$localidade){
echo "A Localidade é um campo obrigatório.<br /><br />";
}
}else{
/ Vamos checar se o nome de Usuário escolhido e/ou Email já existem no banco de dados /
$sql_email_check = mysql_query(
"SELECT * FROM empresa WHERE email='$email'"
);
$sql_nome_check = mysql_query(
"SELECT * FROM empresa WHERE nome='$nome'"
);
$eReg = mysql_fetch_array($sql_email_check);
$uReg = mysql_fetch_array($sql_nome_check);
$email_check = $eReg[0];
$nome_check = $uReg[0];
if (($email_check > 0) || ($nome_check > 0)){
echo "<strong>ERRO</strong>: <br /><br />";
if ($email_check > 0){
echo "Este email já está registado.<br /><br />";
unset($email);
}
if ($nome_check > 0){
echo "Este nome já está registado.<br /><br />";
unset($nome);
}
}else{
/* Se passarmos por esta verificação ilesos é hora de
finalmente cadastrar os dados. Vamos utilizar uma função para gerar a senha de
forma randômica*/
function makeRandomPassword(){
$salt = "abchefghjkmnpqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
$i = 0;
while ($i <= 7){
$num = rand() % 33;
$tmp = substr($salt, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
$senha_randomica = makeRandomPassword();
$senha = md5($senha_randomica);
// Inserindo os dados no banco de dados
$sql = mysql_query(
"INSERT INTO empresa
(nome, email, morada, distrito, concelho, cp, categoria, localidade, senha, descricao)
VALUES
('$nome', '$email', '$morada', '$distrito', '$concelho', '$cp', '$categoria', '$localidade', '$senha', '$descricao')")
or die( mysql_error()
);
if (!$sql){
echo "Ocorreu um erro ao criar sua conta, entre em contato.";
}else{
$nome = mysql_insert_id();
// Enviar um email ao usuário para confirmação e ativar o cadastro!
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: PT Comérico - Webmaster<email@ptcomercio@ptcomercio.com>";
$subject = "Confirmação de cadastro - ptcomercial.com";
$mensagem = "Olá,<br />
Obrigado pelo seu registo em ptcomercial.com, <a href='http://www.ptcomercial.com'>
http://www.ptcomercial.com</a>!<br /> <br />
Para confirmar seu cadastro e ativar sua conta em nosso site, podendo acessar à
áreas exclusivas, por favor clique no link abaixo ou copie e cole na barra de
endereço do seu navegador.<br /> <br />
<a href='http://ptcomercial.com/ativar.php?id={$nome}&code={$senha}'>
http://ptcomercial.com/ativar.php?id={$nome}&code={$senha}
</a>
<br /> <br />
Após a ativação de sua conta, você poderá ter acesso ao conteúdo exclusivo
efetuado o login com os seguintes dados abaixo:<br > <br />
<strong>nome</strong>: {$nome}<br />
<strong>Senha</strong>: {$senha_randomica}<br /> <br />
Obrigado!<br /> <br />
Webmaster<br /> <br /> <br />
Esta é uma mensagem automática, por favor não responda!";
mail($email, $subject, $mensagem, $headers);
echo "Foi enviado para seu email - ( ".$email." )(".$senha.") um pedido de
confirmação de cadastro, por favor verifique e sigas as instruções!";
}
}
}
?>
Podem-me ajudar no que está a acontecer de errado?
Carregando comentários...