Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sai

HTML + PHP - O "contato" não funciona. Estou ficando maluco

Recommended Posts

Por favor me ajudem!

Estou que nem louco tentando descobrir o erro e não consigo!

Tenho um HTML e um arquivo PHP. Só que não consigo fazer o arquivo HTML chamar o PHP e fazer a área "contato"funcionar. Alguém tem dicas? ou um template que esteja funcionando e eu possa adaprat?

 

Quando coloco online, ele da o erro:

Object not found!

Agradeço muito qualquer dica!

 

 

HTML:

 

 

<!-- Contact Form -->
<div class="contact-form twelve columns">
<h2 class="content-heading">Send a Message</h2>
<form action="post" class="twelve columns alpha omega">
<input
type= "text"
value= "nome"
id= "nome"
name= "nome"
class= "four columns alpha">
<input
type= "text"
value= "email"
id= "email"
name= "email"
class= "four columns">
<textarea
id= "menssagem"
name= "menssagem"
class= "twelve columns alpha omega">Menssagem</textarea>
<p class="note six columns alpha">
Entre em contato, peça um orçamento.
</p>
<!-- acho que essa área está errada. -->
<div class="submit six columns omega">
<button type="enviar"
id="enviar"
name="enviar">
<img src="Theme Files/images/send-button.png" alt="">
<a href="enviar"></a>
</button>
</div>
</form>
</div>
<!-- End Contact Form -->
PHP:
<?php
/*Variaveis do Formulario*/
$nome = trim($_POST['nome']);/*recebe os dados digitados no campo "nome"*/
$email = trim($_POST['email']);/*recebe os dados digitados no campo "email"*/
$mensagem = trim($_POST['mensagem']);/*recebe os dados digitados no campo "mensagem"*/
$enviar = $_POST['enviar'];/*Botão enviar*/
/*variavel que contará os erros*/
$erros = 1;
/*transforma em variavel global, a variã¡vel email*/
global $email;
if($enviar)/*Se o botão enviar for pressionado, faça...*/
{
/*Verifica campo "nome" vazio*/
if($nome == "")
{
$erros++;
echo "<small class=\"erro\">O Campo nome esta vazio</small><br />";
}
elseif(is_numeric($nome))/*verifica se foi digitado número no campo*/
{
$erros++;
echo "<small class=\"erro\">Você digitou numero no campo nome</small><br />";
}
/*Verifica campo "email" vazio*/
if($email == "")
{
$erros++;
echo "<small class=\"erro\">O Campo email está vazio</small><br />";
}
/*Verifica campo mensagem vazio*/
if($mensagem == "")
{
$erros++;
echo "<small class=\"erro\">O Campo mensagem esté vazio</small><br />";
}
/*verifica email, se digitado incorretamente*/
$email = str_replace (" ", "", $email);
$email = str_replace ("/", "", $email);
$email = str_replace ("@.", "@", $email);
$email = str_replace (".@", "@", $email);
$email = str_replace (",", ".", $email);
$email = str_replace (";", ".", $email);
if(strlen($email)<8 || substr_count($email, "@")!=1 || substr_count($email, ".")==0)
{
$erros++;
echo "<small class=\"erro\">Por favor, digite seu <b>e-mail</b> corretamente.</small><br />";
}
if($erros <= 1)/*se não tiver algum erro continuara abaixo, se tiver é exibido as messagens configuradas acima*/
{
/*Configuramos o e-mail para o qual serão enviadas as informações*/
$seuemail = "vitorpcambraia@gmail.com";/*email de destino*/
$assunto = "contato pelo site vcambraia";/*assunto padrão do email(não o digitado pelo úsuario)*/
/*Configuramos os cabeçalhos do e-mail*/
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";/*para o envio com formatação HTML. Charset po ser iso-8859-1 também*/
$headers .= "From: $seuemail \r\n";/*Para "seu email"*/
/*Configuramos o conteúdo do e-mail*/
$conteudo = "<strong>Nome:</strong> $nome<br />";/*vai para o seu email o que foi digitado no campo "nome"*/
$conteudo .= "<strong>Email:</strong> $email<br />";/*vai para o seu email o que foi digitado no campo "email"*/
$conteudo .= "<strong>Mensagem:</strong> $mensagem<br />";/*vai para o seu email o que foi digitado no campo "mensagem"*/
/*Enviando o e-mail...*/
$enviando = mail($seuemail, $assunto, $conteudo, $headers);
/*verifica se o e-mail foi enviado com sucesso*/
if($enviando) {
echo "Mensagem enviada com sucesso!";
echo "<script>alert(\"Mensagem enviada com sucesso!\")</script>";
echo "<script>window.location = \"index.php\"</script>";
}
else{/*seu ouve algum erro...*/
echo "<p><b>$nome</b><br />Ouve um erro no envio, desculpe-nos pelo transtorno!!!</p>";
}
}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<form action="post" class="twelve columns alpha omega">

o.O

 

Parece que você ainda tem muito o que aprender em matéria de HTML, hein!? :)

 

No atributo [inline]action[/inline] você deve colocar o caminho para o arquivo PHP que irá processar o formulário, não é nome do método (POST ou GET). Esse deve ser colocado no atributo [inline]method[/inline].

<form action="/caminho/para/arquivo/para/enviar-email.php" method="post">
  <!-- ... -->
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

o.O

 

Parece que você ainda tem muito o que aprender em matéria de HTML, hein!? :)

 

No atributo [inline]action[/inline] você deve colocar o caminho para o arquivo PHP que irá processar o formulário, não é nome do método (POST ou GET). Esse deve ser colocado no atributo [inline]method[/inline].

<form action="/caminho/para/arquivo/para/enviar-email.php" method="post">
  <!-- ... -->
</form>

Realmente sou novato com esse negócio de construção de formulário em HTML.

Parece que estou muito perto de conseguir depois de sua dica.

O único problema é que quando mando uma menssagem dentro do formulario de contato (com meu site já online) vcambraia.com.br Ele diz que foi enviado, mas não chega nada no meu email. Nenhuma menssagem.

Deixei os códigos assim:

Desde já agradeço muito pela primeira dica!

Obrigado

 

HTML:

 

 

<!-- Contact Form -->
<div class="contact-form twelve columns">
<h2 class="content-heading">Send a Message</h2>
<form action="enviar.php" method="post" class="twelve columns alpha omega">
<input
type= "text"
value= "Your name"
id= "name"
name= "name"
class= "four columns alpha">
<input
type= "text"
value= "Your e-mail"
id= "email"
name= "email"
class= "four columns">
<input
type= "text"
value= "subject"
id= "subject"
name= "subject"
class= "four columns omega">
<textarea
id= "message"
name= "message"
class= "twelve columns alpha omega">Your message goes here</textarea>
<p class="note six columns alpha">
* optional fields
</p>
<div class="submit six columns omega">
<button type="submit" id="submit" name="submit">
<img src="Theme Files/images/send-button.png" alt="">
</button>
</div>
</form>
</div>
<!-- End Contact Form -->
E o PHP está:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$headers = "From: $email\r\n";
$headers .= "Reply-To: $email\r\n";
$corpo = "Formulário enviado\n";
$corpo .= "Nome: " . $name . "\n";
$corpo .= "Email: " . $email . "\n";
$corpo .= "Comentários: " . $message . "\n";
$email_to = 'vitor_io@hotmail.com';
if(mail($email_to, $subject, $corpo, $headers))
{
echo 'sua menssagem foi enviada!'; // we are sending this text to the ajax request telling it that the mail is sent..
}
else
{
echo 'Houve alguma falha no envio. Veja se os dados foram preenchidos corretamente.';// ... or this one to tell it that it wasn't sent
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro, verifique se a função de mail não está bloqueada e está funcionando corretamente nesse seu servidor. Crie um arquivo de teste com esse conteúdo e rode-o:

 

teste-email.php

<?php
if (mail('vitor_io@hotmail.com', 'testando email', 'isto é um teste, se recebeu então mail está ok')) {
    echo "Mensagem enviada com sucesso, verifique sua caixa de entrada";
} else {
    // mostrar algum erro
    echo "<h1>ERRO:</h1><pre>" . print_r(error_get_last(), true) . "</pre>";
} 
?>

Informe o resultado do teste e poste a mensagem de erro caso ocorra algum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fico triste com o código do tópico (Não o seu mangakah :))... Mas o do amigo acima, tenho certeza que ele deu um Ctrl + V e depois Ctrl + V, estudar que é bom. Nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fico triste com o código do tópico (Não o seu mangakah :))... Mas o do amigo acima, tenho certeza que ele deu um Ctrl + V e depois Ctrl + V, estudar que é bom. Nada.

Eu fico triste com o seu nome "Wanderson Valerio" uahuahuahu Sua mãe não teve dó mesmo. Entra em um post só para criticar minha dúvida. Meu caro, Php para mim é "hobbie", se você vai entrar em um post para criticar algo ao invés de ajudar, volte a se masturbar na net pq isso é muito coisa de otário... Até te positivei...otário...

 

 

Primeiro, verifique se a função de mail não está bloqueada e está funcionando corretamente nesse seu servidor. Crie um arquivo de teste com esse conteúdo e rode-o:

 

teste-email.php

<?php
if (mail('vitor_io@hotmail.com', 'testando email', 'isto é um teste, se recebeu então mail está ok')) {
    echo "Mensagem enviada com sucesso, verifique sua caixa de entrada";
} else {
    // mostrar algum erro
    echo "<h1>ERRO:</h1><pre>" . print_r(error_get_last(), true) . "</pre>";
} 
?>

Informe o resultado do teste e poste a mensagem de erro caso ocorra algum.

Agradeço muito a disposição! Obrigado pelas dicas! funcionou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu entrei com a intenção de ajudar, iria até tentar resolver seu problema, mas ai vi que você não se interessa em aprender... E desisti.

Se você já fica triste com o meu nome imagine quando você vai escrever o seu "Vitor caimbra", como é? "Vitor caimabra" sei lá. Disponha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.