Ir para conteúdo

POWERED BY:

Arquivado

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

TiagoL

Enviar imagens em formulários PHP

Recommended Posts

Olá a todos.

 

Estou a usar o seguinte (link aqui) código para o meu site, mas gostava que no email de confirmação que é enviado ao consumidor tivesse formatação HTML, de modo a enviar imagens, por exemplo. É possível fazer. Se sim como?

 

Presumo que seja nesta parte, mas com as tags normais o script PHP envia os códigos em formato texto.

$mensagem   = "<h3>De:</h3> ";
$mensagem  .= $recebenome . $recebemail;
$mensagem  .= "<h3>Assunto:</h3>";
$mensagem  .= "Mensagem do Site";
$mensagem  .= "<h3>Mensagem</h3>";
$mensagem  .= "<p>";
$mensagem  .= $recebemsg;
$mensagem  .= "</p>";

Desde já obrigado pela ajuda. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa definir um header para a função mail, content-type: text/html se não me engano, aí o email será enviado como HTML.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta.

 

O código do site já tem essa header, mas mesmo assim não funciona. Existe outra forma?

 

$headers = "Content-type:text/html; charset=iso-8859-1";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei com este código:

 

$mensagem  = "<img src="linkdaimagem.jpg" />";
$mensagem  .= "<h3>De:</h3> ";
$mensagem  .= $recebenome . $recebemail;
$mensagem  .= "<h3>Assunto:</h3>";
$mensagem  .= "Mensagem do Site";
$mensagem  .= "<h3>Mensagem</h3>";
$mensagem  .= "<p>";
$mensagem  .= $recebemsg;
$mensagem  .= "</p>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque:

$mensagem  = "<img src="linkdaimagem.jpg" />";
Por:
$mensagem  = "<img src=\"linkdaimagem.jpg\" />";

Faltou atenção ali para escapar a doublequote. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outro problema... <_<

 

Queria usar o mesmo sistema para o carrinho de compras, só que neste caso o email que o cliente recebe contém o código escrito. Há alguma solução? Desde já obrigado pela ajuda. Não é por acaso que este é um dos melhores fóruns de programação! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<?

$headers = "Content-type:text/html; charset=iso-8859-1";

//INICIALIZA A SESSÃO
session_start();

//VERIFICA SE FOI ESCOLHIDA A OPÇÃO PARA FECHA O PEDIDO
if($_POST[opc_enviar]) {
	
	//RECEBE OS DADOS DO FORMULÁRIO
	$v_nome	  =   "$_POST[txtNome]";
	$v_end	   =   $_POST[txtEndereco];
	$v_cp		=   $_POST[txtCP];
	$v_L		 =   $_POST[txtL];
	$v_pais	  =   $_POST[txtpais];
	$v_email	 =   $_POST[txtEmail];
	$v_produtos	   =   $_POST[v_produtos];
	$v_pagamento =   $_POST[pag];
	$v_total	 =   number_format($_POST[v_total],2,',','.');
	$v_portes	=   number_format($_POST[v_total],2,',','.') + 3;
	$v_desconto  =   $_POST[v_des];
	$v_oferecer  =   $_POST[v_oferecer];
	$v_mensagem  =   $_POST[v_mensagem];
	
	//EMAIL DO ADMINISTRADOR QUE VAI RECEBER O PEDIDO
	$email_dest   =   "email";

	//EMAIL DO CLIENTE QUE VAI RECEBER O PEDIDO
	$email_cliente   =   "$v_email";

		$v_email2   =   "email";

	$headers = "MIME-Version: 1.0\n";  
$headers .= "Content-type: text/html; charset=iso-8859-1\n";

	
	//PREPARA O PEDIDO
	$mens   =  "---------------------------------------------------------------------\n";
	$mens  = '<img src="linkdaimagem" />';
	$mens  .=  "			  Detalhes da sua encomenda								\n";
	$mens  .=  "---------------------------------------------------------------------\n\n";
	$mens  .=  "Quantidade > Descrição > Valor do produto \n";
	$mens  .=  "---------------------------------------------------------------------\n";
	$mens  .=  "".$v_produtos."													\n";
	$mens  .=  "Valor da encomenda: €".$v_total."							 \n";
	$mens  .=  "Valor da encomenda com portes de envio: €".$v_portes."							 \n\n";
	$mens  .=  "DADOS PARA ENTREGA:												  \n";
	$mens  .=  "Nome: ".$v_nome."													\n";
	$mens  .=  "Endereço: ".$v_end."												 \n";
	$mens  .=  "Localidade: ".$v_L."												 \n";
	$mens  .=  "Código Postal: ".$v_cp."												 \n";
		$mens  .=  "País: ".$v_pais."												 \n";
		$mens  .=  "Email: ".$v_email."												 \n\n\n";
	$mens  .=  "Como efectuar o pagamento: ".$v_pagamento."							   \n\n\n";
	$mens  .=  "Informações adicionais												  \n";
	$mens  .=  "Desconto: ".$v_desconto."												  \n";
	$mens  .=  "Oferta?: ".$v_oferecer."												  \n";
	$mens  .=  "Mensagem: ".$v_mensagem."												  \n\n\n\n\n";
	$mens  .=  "---------------------------------------------------------------------												\n";
	$mens  .=  "OBRIGADO PELA PREFERÊNCIA.												\n";
	$mens  .=  "Se necessitar de alterar ou cancelar a sua encomenda, faça-o respondendo para este email. ";
	
	



	
	//DISPARA O EMAIL
	$envia  =  mail($email_dest, "A sua encomenda foi recebida", $mens,"From:".$v_email2."\r\nBcc:".$v_email);
	

	
	//VERIFICA SE O EMAIL FOI ENVIADO COM SUCESSO
	if($envia) { 
	   //ELIMINA TODAS AS VARIÁVEIS DA SESSÃO
	   $_SESSION = array();
	   
	   //DESTRÓI A SESSÃO PARA GARANTIR
	   @session_destroy(); ?>
	   
	   <script language="JavaScript">
	   <!--
		  window.location.href = "sucesso.html";
	   //-->
	   </script>
	<?
	}//FECHA IF(envia)
	else {?>
	   <script language="JavaScript">
	   <!--
		  window.location.href = "insucesso.php";
	   //-->
	   </script>
<?
   }//FECHA ELSE (envia)
}//FECHA IF
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?

//INICIALIZA A SESSÃO
session_start();

//VERIFICA SE FOI ESCOLHIDA A OPÇÃO PARA FECHA O PEDIDO
if($_POST['opc_enviar']) {
	
	//RECEBE OS DADOS DO FORMULÁRIO
	$v_nome	  =   $_POST['txtNome'];
	$v_end	   =   $_POST['txtEndereco'];
	$v_cp		=   $_POST['txtCP'];
	$v_L		 =   $_POST['txtL'];
	$v_pais	  =   $_POST['txtpais'];
	$v_email	 =   $_POST['txtEmail'];
	$v_produtos	   =   $_POST['v_produtos'];
	$v_pagamento =   $_POST['pag'];
	$v_total	 =   number_format($_POST['v_total'],2,',','.');
	$v_portes	=   number_format($_POST['v_total'],2,',','.') + 3;
	$v_desconto  =   $_POST['v_des'];
	$v_oferecer  =   $_POST['v_oferecer'];
	$v_mensagem  =   $_POST['v_mensagem'];
	
	//EMAIL DO ADMINISTRADOR QUE VAI RECEBER O PEDIDO
	$email_dest   =   'email';

	//EMAIL DO CLIENTE QUE VAI RECEBER O PEDIDO
	$email_cliente   =   $v_email;

	$v_email2   =   'email';

	
	//PREPARA O PEDIDO
	$mens   =  "---------------------------------------------------------------------\n";
	$mens  .=  '<img src="linkdaimagem" />';
	$mens  .=  "			  Detalhes da sua encomenda								\n";
	$mens  .=  "---------------------------------------------------------------------\n\n";
	$mens  .=  "Quantidade > Descrição > Valor do produto \n";
	$mens  .=  "---------------------------------------------------------------------\n";
	$mens  .=  "".$v_produtos."													\n";
	$mens  .=  "Valor da encomenda: €".$v_total."							 \n";
	$mens  .=  "Valor da encomenda com portes de envio: €".$v_portes."							 \n\n";
	$mens  .=  "DADOS PARA ENTREGA:												  \n";
	$mens  .=  "Nome: ".$v_nome."													\n";
	$mens  .=  "Endereço: ".$v_end."												 \n";
	$mens  .=  "Localidade: ".$v_L."												 \n";
	$mens  .=  "Código Postal: ".$v_cp."												 \n";
	$mens  .=  "País: ".$v_pais."												 \n";
	$mens  .=  "Email: ".$v_email."												 \n\n\n";
	$mens  .=  "Como efectuar o pagamento: ".$v_pagamento."							   \n\n\n";
	$mens  .=  "Informações adicionais												  \n";
	$mens  .=  "Desconto: ".$v_desconto."												  \n";
	$mens  .=  "Oferta?: ".$v_oferecer."												  \n";
	$mens  .=  "Mensagem: ".$v_mensagem."												  \n\n\n\n\n";
	$mens  .=  "---------------------------------------------------------------------												\n";
	$mens  .=  "OBRIGADO PELA PREFERÊNCIA.												\n";
	$mens  .=  "Se necessitar de alterar ou cancelar a sua encomenda, faça-o respondendo para este email. ";
	
	



	
	//DISPARA O EMAIL
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '.$v_nome.' <'.$v_email2.'>' . "\r\n";
$headers .= 'To: Título Mensagem <'.$email_dest.'>' . "\r\n";

	$envia  =  mail($email_dest, "A sua encomenda foi recebida",  $mens, $headers);	

	
	//VERIFICA SE O EMAIL FOI ENVIADO COM SUCESSO
	if($envia) {
	   //ELIMINA TODAS AS VARIÁVEIS DA SESSÃO
	   $_SESSION = array();
	  
	   //DESTRÓI A SESSÃO PARA GARANTIR
	   @session_destroy(); ?>
	  
	   <script language="JavaScript">
	   <!--
		  window.location.href = "sucesso.html";
	   //-->
	   </script>
	<?
	}//FECHA IF(envia)
	else {?>
	   <script language="JavaScript">
	   <!--
		  window.location.href = "insucesso.php";
	   //-->
	   </script>
<?
   }//FECHA ELSE (envia)
}//FECHA IF
?>

Dei uma limpada basica no teu código, tava muito ruim.

Tem que fazer algumas coisas ainda, mas o resto é contigo.

 

Verifica se funciona ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela disponibilidade em tentar solucionar o meu problema. Agora o código não envia o email... apesar de no site dizer que foi enviado, ele não chega à caixa de correio electrónico. :blink:

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.