Sou iniciante em programação PHP, e atualmente estou desenvolvendo um site particular.
O que acontece é o seguinte estou tentando configurar a parte de enviar do formulario, para melhor me atender ao que preciso, e com isso fui criando, lendo várias coisas sobre o assunto e acho q em determinados pontos eu me perdi completamente o que ocasionou do script não funcionar nada, certo ou errado ele retorna tudo como errado, assim como uma auto-resposta que também não é enviada corretamente, básicamete nada funciona....
enfim vou postar aqui os códigos que estou utilizando, e gostaria que alguém pudesse me ajudar, me mostrando onde estou errando e o que poderia fazer para melhorar...Grato...
Arquivo ENVIAR.PHP
<?
/*
Script criado por:
Rogério Oliveira Yokoi
http://www.rogerioyokoi.com
*/
//Define o dia e hora em que a mensagem foi enviada
$data = date("d/m/Y h:i");
//Recebe os dados vindos do formulário para envia-los
$nome = $_POST["nome"];
$empresa = $_POST["empresa"];
$email = $_POST["email"];
$cidade = $_POST ["cidade"];
$assunto = $_POST ["assunto"];
$mensagem = $_POST ["mensagem"];
//Nesta parte será feita a verificação dos dados e se corretos envia-los ou retornar erro no preenchimento
//Assume-se com essa parte a delimitação minima de caracteres para cada campo
//Verifica o campo nome
if(strlen($nome)<3) //Verifica se o campo nome contém menos de 3 caracteres
echo "<script> window.alert('O campo NOME deve ser preenchido ou conter no minimo 3 caracteres!');</script>";//SE TIVER MENOS DE 5 CARACTERES ELE RETORNA A MENSAGEM DE ERRO
//Verifica o campo empresa
if(strlen($empresa)<3)
echo "<script> window.alert('O campo EMPRESA deve ser preenchido ou conter no minimo 3 caracteres!');</script>";
//Verifica o campo e-mail
if (substr_count($email,"@") == 0 || substr_count($email,".") == 0) //Condição para o campo email que deve existir o "@" e "."
echo "<script> window.alert('Verifique seu E-MAIL pode ter sido digitado incorretamente!');</script>";
//Verifica o campo cidade
if(strlen($cidade)<3)
echo "<script> window.alert('O campo CIDADE deve ser preenchido ou conter no minimo 3 caracteres!');</script>";
//Verifica o campo assunto
if(strlen($assunto)<3)
echo "<script> window.alert('O campo NOME deve ser preenchido ou conter no minimo 3 caracteres!');</script>";
//Verifica o campo empresa
if(strlen($mensagem)>20) || (strlen($mensagem)>500)
echo "<script> window.alert('O campo de MENSAGEM não deve conter menos de 20 ou mais de 500 caracteres!');</script>";
//Cabeçalho - Aqui contém os dados do site e o e-mail que recebe a mensagem e para onde redireciona no caso de sucesso
$nome_do_site="Rogério O. Yokoi";
$email_para_onde_vai_a_mensagem = "contato@rogerioyokoi.com";
$nome_de_quem_recebe_a_mensagem = "Rogério O. Yokoi";
$exibir_apos_enviar='http://www.rogerioyokoi.com';
//Configurações da mensagem original
$cabecalho_da_mensagem_original="From: $name <$email>\n";
$assunto_da_mensagem_original="Contato no Site";
//Aqui configura a forma de recebimento do e-mail
$configuracao_da_mensagem_original="
ENVIADO POR:\n
Nome: $nome\n
Empresa: $empresa\n
Email: $email\n
Cidade: $cidade\n
Assunto: $assunto\n
Mensagem: $mensagem\n
ENVIADO EM: $date
";
/* Para enviar email HTML, você precisa definir o header Content-type. */
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
//CONFIGURAÇÕES DA MENSAGEM DE RESPOSTA
// CASO $assunto_digitado_pelo_usuario="s" ESSA VARIAVEL RECEBERA AUTOMATICAMENTE A CONFIGURACAO
// "Re: $assunto"
$assunto_da_mensagem_de_resposta = "Confirmação";
$cabecalho_da_mensagem_de_resposta = "From: $nome_do_site < $email_para_onde_vai_a_mensagem>\n";
$configuracao_da_mensagem_de_resposta="
$headers
<head>
<title> $nome_site </title>
<link href="http://www.rogerioyokoi.com/auto-resposta/estilo.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container">
<div id="corpo">
<img src="http://www.rogerioyokoi.com/auto-resposta/imagens/topo.png" alt="" />
<div id="texto">
<p>Caro <?php echo $nome ?>,</p>
<p>Agradeço sua mensagem de contato e o mais breve possivel estará sendo respondida a você!</p>
<p><?php echo $date ?></p>
<p> Segue abaixo o contato enviado por você</p>
<p><b>Assunto:</b><?php echo $assunto ?></p>
<p><b>Mensagem:</b><?php echo $mensagem ?></p>
<p>--------------------------------</p>
<p>Você não precisa responder a esta mensagem.</p>
<p>Atenciosamente,</p>
<p>Rogério Oliveira Yokoi</p>
<p><a href="http://www.rogerioyokoi.com">HTTP://WWW.ROGERIOYOKOI.COM</a></p>
</div>
</div>
</div>
</body>
";
// ****** IMPORTANTE ********
// A PARTIR DE AGORA RECOMENDA-SE QUE NÃO ALTERE O SCRIPT PARA QUE O SISTEMA FINCIONE CORRETAMENTE
// ****** IMPORTANTE ********
//ESSA VARIAVEL DEFINE SE É O USUARIO QUEM DIGITA O ASSUNTO OU SE DEVE ASSUMIR O ASSUNTO DEFINIDO
//POR VOCÊ CASO O USUARIO DEFINA O ASSUNTO PONHA "s" NO LUGAR DE "n" E CRIE O CAMPO DE NOME
//'assunto' NO FORMULARIO DE ENVIO
$assunto_digitado_pelo_usuario="s";
//ENVIO DA MENSAGEM ORIGINAL
$headers = "$cabecalho_da_mensagem_original";
if($assunto_digitado_pelo_usuario=="s"){
$assunto = "$assunto_da_mensagem_original";
}
$seuemail = "$email_para_onde_vai_a_mensagem";
$mensagem = "$configuracao_da_mensagem_original";
mail($seuemail,$assunto,$mensagem,$headers);
//ENVIO DE MENSAGEM DE RESPOSTA AUTOMATICA
$headers = "$cabecalho_da_mensagem_de_resposta";
if($assunto_digitado_pelo_usuario=="n"){
$assunto = "$assunto_da_mensagem_de_resposta";
}else{
$assunto = "Re: $assunto";
}
$mensagem = "$configuracao_da_mensagem_de_resposta";
mail($email,$assunto,$mensagem,$headers);
echo "<script>window.location='$exibir_apos_enviar'</script>";
?>
o código acredito eu estar bem comentado, mas irei explicar aqui o que eu gostaria que ele fizesse, tomando como principio que nada nele funciona e que esteja completamente errado.
Primeiramente, gostaria que ele recebe-se os dados vindos do formulário e verifica-se se estão dentro do padrão minimo que estou exigindo no formulário, caso certo ele passa pra frente, caso errado ele retornar um window.alert dizendo onde está errado.
Em segundo, após o envio correto gostaria que ele retorna-se à página principal mas trazendo no corpo do index.php um include contendo a frase de que o e-mail foi enviado com sucesso e que lhe foi mandado um e-mail de resposta dizendo que foi bem sucedido no envio e que o mais breve estarei respondendo ele, dai tentei configurar mas não consegui, ai vem uma pergunta onde eu coloquei o link para ir para http://www.rogerioyokoi.com, eu teria que por http://www.rogerioyokoi.com/index.php?area=sucesso ? e criar dentro dos cases um para ser denominado assim ?
a terceira coisa é no envio da auto resposta gostaria que ela fosse configurada com imagens e tudo mais, assim como descrito no código, eu criei uma mini pagina só para ser lida no e-mail do receptor com os links de referencia dentro do site....
Grato a todos.....
se algo ficou mal entendido e mesmo assim se sentir confortável em me ajudar estarei feliz em repor a explicação para seu melhor compreendimento....
Pergunta
Rogério Yokoi
Olá a todos, boa tarde.
Sou iniciante em programação PHP, e atualmente estou desenvolvendo um site particular.
O que acontece é o seguinte estou tentando configurar a parte de enviar do formulario, para melhor me atender ao que preciso, e com isso fui criando, lendo várias coisas sobre o assunto e acho q em determinados pontos eu me perdi completamente o que ocasionou do script não funcionar nada, certo ou errado ele retorna tudo como errado, assim como uma auto-resposta que também não é enviada corretamente, básicamete nada funciona....
enfim vou postar aqui os códigos que estou utilizando, e gostaria que alguém pudesse me ajudar, me mostrando onde estou errando e o que poderia fazer para melhorar...Grato...
Arquivo ENVIAR.PHP
o código acredito eu estar bem comentado, mas irei explicar aqui o que eu gostaria que ele fizesse, tomando como principio que nada nele funciona e que esteja completamente errado.
Primeiramente, gostaria que ele recebe-se os dados vindos do formulário e verifica-se se estão dentro do padrão minimo que estou exigindo no formulário, caso certo ele passa pra frente, caso errado ele retornar um window.alert dizendo onde está errado.
Em segundo, após o envio correto gostaria que ele retorna-se à página principal mas trazendo no corpo do index.php um include contendo a frase de que o e-mail foi enviado com sucesso e que lhe foi mandado um e-mail de resposta dizendo que foi bem sucedido no envio e que o mais breve estarei respondendo ele, dai tentei configurar mas não consegui, ai vem uma pergunta onde eu coloquei o link para ir para http://www.rogerioyokoi.com, eu teria que por http://www.rogerioyokoi.com/index.php?area=sucesso ? e criar dentro dos cases um para ser denominado assim ?
a terceira coisa é no envio da auto resposta gostaria que ela fosse configurada com imagens e tudo mais, assim como descrito no código, eu criei uma mini pagina só para ser lida no e-mail do receptor com os links de referencia dentro do site....
Grato a todos.....
se algo ficou mal entendido e mesmo assim se sentir confortável em me ajudar estarei feliz em repor a explicação para seu melhor compreendimento....
Muito obrigado a todos desde já!
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.