Logo Hardware.com.br
escastilho
escastilho Membro Senior Registrado
248 Mensagens 3 Curtidas

Erro em código PHP

#1 Por escastilho 06/02/2012 - 21:56
Pessoal,

Estou desenvolvendo um site e neste contém uma página de contato aonde tem um form e ao confirmar envio, os dados ficam armazenados em um painel administrativo no banco MySQL.

Este é o php que esta na página Contato:

[PHP]
<?php if(isset($_POST['contato_site'])){

$contatoNome = strip_tags(trim($_POST['nome']));
$contatoEmail = strip_tags(trim($_POST['email']));
$contatoMsg = strip_tags(trim($_POST['msg']));
$contatoData = date('Y-m-d H:i:s');
$contatoStatus = 'pendente';
$codData = date('d-H-i');
$contatoCod = $codData.'-'.$contatoEmail;

$sql_verificaContato = 'SELECT emailCod FROM emailAdmin WHERE emailCod = :contatoCod';

try{
$query_verificaContato = $conecta->prepare($sql_verificaContato);
$query_verificaContato->bindValue(':contatoCod',$contatoCod,PDO::PARAM_STR);
$query_verificaContato->execute();

$cont_verificaContato = $query_verificaContato->rowCount(PDO::FETCH_ASSOC);

}catch (PDOexcpetion $error_verificaCod){
echo 'Erro ao selecionar o codigo do email';
}


if($cont_verificaContato >= '1'){
echo '
Por favor aguarde algúns minutos para enviar uma nova mensagem! Obrigado!
';
}else{

$sql_contatoSite = 'INSERT INTO emailAdmin (emailNome, emailEmail, emailMensagem, emailData, emailStatus, emailCod) ';
$sql_contatoSite .= 'VALUES (:contatoNome, :contatoEmail, :contatoMsg, :contatoData, :contatoStatus, :contatoCod)';

try{
$query_cadastraContato = $conecta->prepare($sql_contatoSite);
$query_cadastraContato->bindValue(':contatoNome',$contatoNome,PDO::PARAM_STR);
$query_cadastraContato->bindValue(':contatoEmail',$contatoEmail,PDO::PARAM_STR);
$query_cadastraContato->bindValue(':contatoMsg',$contatoMsg,PDO::PARAM_STR);
$query_cadastraContato->bindValue(':contatoData',$contatoData,PDO::PARAM_STR);
$query_cadastraContato->bindValue(':contatoStatus',$contatoStatus,PDO::PARAM_STR);
$query_cadastraContato->bindValue(':contatoCod',$contatoCod,PDO::PARAM_STR);
$query_cadastraContato->execute();

echo '
Seu e-mail foi envado com sucesso! Responderemos em breve!
';

}catch(PDOexception $error_cadastraMail){
'Erro ao enviar seu e-mail, favor tente mais tarde ou nos informe pelo teste@teste.com';
}

}
}?>
[/PHP]

Quando preencho o formulário e clico no botão, o sistema retorna o seguinte erro:

Notice: Undefined variable: conecta in 


e

Fatal error: Call to a member function prepare() on a non-object in 


a linha que ele reclama é esta:
$query_verificaContato = $conecta->prepare($sql_verificaContato);


Alguém pode me dar uma ajudinha nisso?
Flavio_vivinho
Flavio_vivin... Geek Registrado
2.5K Mensagens 173 Curtidas
#2 Por Flavio_vivin...
06/02/2012 - 22:46
Olá, Escastilho!
Na linha:
[php]
$sql_verificaContato = 'SELECT emailCod FROM emailAdmin WHERE emailCod = :contatoCod';
[/php]Troque o campo emailCod por um * e faço um teste. Exemplo:
[php]
$sql_verificaContato = 'SELECT * FROM emailAdmin WHERE emailCod = :contatoCod';
[/php]Até+
"Vinde a Mim, todos os que estais cansados e oprimidos, e Eu vos aliviarei" - Mateus 11,28.
www.flaviosistemas.com.br
Desenvolvendo projetos, facilitando sua vida.
escastilho
escastilho Membro Senior Registrado
248 Mensagens 3 Curtidas
#3 Por escastilho
06/02/2012 - 23:15
Flavio_vivinho disse:
Olá, Escastilho!
Na linha:
[php]
$sql_verificaContato = 'SELECT emailCod FROM emailAdmin WHERE emailCod = :contatoCod';
[/php]Troque o campo emailCod por um * e faço um teste. Exemplo:
[php]
$sql_verificaContato = 'SELECT * FROM emailAdmin WHERE emailCod = :contatoCod';
[/php]Até+


Alterei, tentei rodar e apresentou o mesmo erro.
“Nothing is true, everything is permitted”

Linux user: #532015
Flavio_vivinho
Flavio_vivin... Geek Registrado
2.5K Mensagens 173 Curtidas
#6 Por Flavio_vivin...
07/02/2012 - 22:58
marcos andrade22 disse:
Não entendo muito ainda de php, mas vou opinar rsrs.
Voce já analisou a condição se esta correta e sem erros de grafia nas tabelas:
WHERE emailCod = :contatoCod
Pelo que entendi a função só vai atribuir o valor se esta condição for atendida.


É isto que eu também estou suspeitando... erro ao gerar está variável.

escastilho disse:
Alguém já passou por isso ou sabe algo que pode me ajudar, estou precisando urgente.


Já tentou trocar as aspas simples por aspas duplas? Ao abrir e fechar o select e outras variáveis?
Até+
"Vinde a Mim, todos os que estais cansados e oprimidos, e Eu vos aliviarei" - Mateus 11,28.
www.flaviosistemas.com.br
Desenvolvendo projetos, facilitando sua vida.
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal