Ir ao conteúdo
  • Cadastre-se

Erro no php


Posts recomendados

Fiz esse código para enviar dados de um formulário para o email , mas só recebo as mensagens e não  os outros dados, onde foi q errei . Pesquisei e não encontrei o erro .
 

<?php

//criando váriaveis dos campos
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];

//definindo informações
$para = 'meu e-mail';
$cabecalho  =  "MIME-Version: 1.0" . "\r\n".
                        "Content-type: text/html; charset=utf-8" . "\r\n".
                        "From: meuemail" . "\r\n".
                         "Reply-To: meusite";

//definindo a mensagem
$corpoDoEmail  = $nome ."<br />";
$corpoDoEmail .= $email ."<br />";
$corpoDoEmail .= $fone ."<br />";
$corpoDoEmail .= $assunto ."<br /><br />";
$corpoDoEmail .= $mensagem ;                    

$status = mail($para,$assunto,$corpoDoEmail,$cabecalho);

if($status){
    echo "<script> alert('Mensagem enviada com sucesso!');</script>";
}

else{
    echo "<script> alert('Erro ao enviar mensagem!!!'); </script>";
}
echo "<script> window.location.href = 'index.html'; </script>";
   
?>

 

Link para o comentário
Compartilhar em outros sites

  • Moderador

Verifique se está recebendo dados do formulário.

Acrescente um echo na frente de cada variável que recebe os dados do formulário e comente do $para até o último echo.

 

Se mostrar seus dados em tela, quer dizer que o erro está na função mail() ou no conteúdo do $cabecalho.

 

Por sugestão, evite de usar essa função... use uma classe específica como o phpmailer. Existe diversos tópicos aqui no setor sobre o phpmailer!

 

PS: poste o seu formulário também.  As vezes o erro é só simplesmente de digitação ao nomear os atributos "name"!

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, dif disse:

Verifique se está recebendo dados do formulário.

Acrescente um echo na frente de cada variável que recebe os dados do formulário e comente do $para até o último echo.

 

Se mostrar seus dados em tela, quer dizer que o erro está na função mail() ou no conteúdo do $cabecalho.

 

Por sugestão, evite de usar essa função... use uma classe específica como o phpmailer. Existe diversos tópicos aqui no setor sobre o phpmailer!

 

PS: poste o seu formulário também.  As vezes o erro é só simplesmente de digitação ao nomear os atributos "name"!

Eu refiz o código php e faltou só receber os dados das variáveis.vou colocar código php :

<?php

//criando váriaveis dos campos
$data = date("d/m/Y - H:i");
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['fone'];
$assuntof = $_POST['assunto'];
$mensagem = $_POST['mensagem'];

//definindo informações
$para = 'meu email';
$assunto = 'meusite';

$corpoDoEmail  = "
<b>Nome : </b>     $nome  <br />
<b>Email : </b>    $email <br />
<b>Telefone : </b> $fone  <br />
<b>Assunto : </b>  $assuntof  <br />
<b>Data : </b>     $data  <br /><br />
<b>Mensagem : </b> $mensagem  

";

$cabecalho = 'MIME-Version: 1.0' . "\r\n".
	         'Content-type: text/html; charset=utf-8' . "\r\n".
             'From: meuemail' . "\r\n".
             'Reply-To: meusite';

                   

$status = mail($para,$assunto,$corpoDoEmail,$cabecalho);

if($status){
    echo "<script> alert('Mensagem enviada com sucesso!');</script>";
}

else{
    echo "<script> alert('Erro ao enviar mensagem!!!'); </script>";
}
echo "<script> window.location.href = 'index.html'; </script>";
   
?>

agora o código do formulário:

<form id="formulario" action="envia.php" method="post" onsubmit="return validar(this)">
					<table class="tabela">
						<tr>
							<td>
								<fieldset>
									<legend>Entre em contato conosco:</legend>
									<p>
										<label for="nome">Nome:</label><br />
										<input type="text" id="nome" tabindex="1" />
									</p>
									<p>
										<label for="email">Email:</label><br /> 
										<input type="text" id="email" tabindex="2" />                                
									</p>
									<p>
										<label for="fone">Telefone:</label><br />
										<input type="text" id="fone" tabindex="3" />
									</p>
									<p>
										<label for="assunto">Assunto:</label><br />
										<input type="text" id="assunto" tabindex="3" />
									</p>
									<p>
										<label for="mensagem">Mensagem:</label><br />
										<textarea name="mensagem" cols="20" rows="8" id="mensagem" tabindex="5"></textarea>
									</p>
									<p>
										<input name="reseta" type="reset" value="Limpar" class="botao" /> 
										<span class="direita">                                          										
                                        	<input name="envia" type="submit" value="Enviar" class="botao" />                                      
										</span>                                   
									</p>
								</fieldset> 

agora como apareceu no email(não pegou  as variáveis):

mensagem.png

Link para o comentário
Compartilhar em outros sites

@fabiano aladin como seu nome é bonito vou me intrometer rs. 

 

Que nem o @dif falor erro de digitação, você passa o dados do input usando  a tag -  name="email", no arquivo PHP não recebe via ID.

 

obs.: você so atribuiu o campo "name" na mensagem por isso ela foi recebida.

 

 

<input type="text"  name="nome" />
<input type="text"  name="fone" />
<input type="text"  name="assunto"  />
<input type="text"  name="mensagem" />

PHP

// php

$nome = $_POST['nome']; // mesmo nome dado ao name do input
$fone = $_POST['fone']; // mesmo nome dado ao name do input
$assunto = $_POST['assunto']; // mesmo nome dado ao name do input
$msg = $_POST['mensagem']; // mesmo nome dado ao name do input

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderador
14 minutos atrás, FabianoS disse:

você passa o dados do input usando  a tag -  name="email", no arquivo PHP não recebe via ID.

Só uma correção. a tag é o que compõe um elemento.  Ou seja, <input> onde input é a descrição do conteúdo  que o elemento terá.

O "name" é um atributo. Em outras palavras name é uma propriedade do elemento do tipo input formado a partir da tag <input>

:thumbsup:

 

No mais, é isso. 

@FabianoS  matou a charada.

@fabiano aladin basta acrescentar os tais atributos! :) 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

39 minutos atrás, FabianoS disse:

@fabiano aladin como seu nome é bonito vou me intrometer rs. 

 

Que nem o @dif falor erro de digitação, você passa o dados do input usando  a tag -  name="email", no arquivo PHP não recebe via ID.

 

obs.: você so atribuiu o campo "name" na mensagem por isso ela foi recebida.

 

 


<input type="text"  name="nome" />
<input type="text"  name="fone" />
<input type="text"  name="assunto"  />
<input type="text"  name="mensagem" />

PHP


// php

$nome = $_POST['nome']; // mesmo nome dado ao name do input
$fone = $_POST['fone']; // mesmo nome dado ao name do input
$assunto = $_POST['assunto']; // mesmo nome dado ao name do input
$msg = $_POST['mensagem']; // mesmo nome dado ao name do input

 

Pior q matou mesmo   , só o telefone q não aparece ainda , tô aqui procurando o erro !porém todos os outros campos estão aparecendo!Obrigado!Acabei de achar o erro do telefone !!! Obrigado  galera!!

 

adicionado 2 minutos depois
2 horas atrás, dif disse:

Verifique se está recebendo dados do formulário.

Acrescente um echo na frente de cada variável que recebe os dados do formulário e comente do $para até o último echo.

 

Se mostrar seus dados em tela, quer dizer que o erro está na função mail() ou no conteúdo do $cabecalho.

 

Por sugestão, evite de usar essa função... use uma classe específica como o phpmailer. Existe diversos tópicos aqui no setor sobre o phpmailer!

 

PS: poste o seu formulário também.  As vezes o erro é só simplesmente de digitação ao nomear os atributos "name"!

Tô olhando essa função phpmailer , mas  não tem risco de segurança  , por colocar a senha ?

eu também vou fazer a parte do captcha.

Link para o comentário
Compartilhar em outros sites

agora, FabianoS disse:


 @fabiano aladin Poste como ficou seu código. 

 

Achei o erro coloquei $ telefone = fone e depois coloquei $fone , obrigado pela ajuda ,no meio da sonolência consegui achar , já a parte de name e id , não sabia  e/ou nem  me lembrava  q php não passa por id .

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...