Jump to content


Dhio

Member Since 20/07/2004
Offline Last Active 10/10/2013, 20:32
-----

Topics I've Started

Problemas Em Acentuação

21/09/2009, 16:03

Bem pessoal estou com problemas no acento em meu form em php.
Eu já sei do UTF-8 e do ISO-8859-1.
O problema é se eu coloco ISO-8859-1 da problema em acentuação nas perguntas e se coloco UTF-8 da nas respostas.
O que quero dizer com perguntas e respostas?
Exemplo:

E-mail : joao@hotmail.com

A pergunta é o E-mail e a resposta o joao@hotmail.com.

No que eu for alterar no corpo do e-mail que no meu caso se chama $mens, vai prejudicar um ou outros em vez de beneficiar os dois no português.


E mais uma dúvida tem como no $mens a pergunta desaparecer se não responderem no formulário?Por que depois quando vai ver no email fica uma pergunta vazia.
Exemplo:

E-mail:

Peço por favor e obrigado.

Multiple Com Problemas Em Php

17/09/2009, 14:38

Olá Pessoal,

Eu tenho um problema, no formulário em html tenho um campo multiple que com o ctrl seleciono mais do que uma alternativa, mais quando você vai checar seu e-mail só aparece uma das três que você selecionou.

Como fazer para aparecer os três na mesma linha apenas separando por virgula?


Meu código:

email.htm
<html>
<head>
<script language="javascript">
 
function checa_formulario(email){
 
if (email.nome_para.value == ""){
alert("Por Favor nao deixe o nome em branco!!!");
email.nome.focus();
return (false);
}
 
if (email.email.value == ""){
alert("Nao deixe o email destinatario em branco!!!");
email.email.focus();
return (false);
}
 
if (email.assunto.value == ""){
alert("Nao deixe o assunto em branco!!!");
email.assunto.focus();
return (false);
}
 
}
</script>
<title>Enviando e-mail com anexo atrav&eacute;s do PHP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.email {
text-transform: lowercase;
}
.texto {
color: #0000FF
}
.style1 {color: #FF0000}
 
-->
</style>
</head>
 
<body onload="document.email.nome_para.focus();">
<form onsubmit="return checa_formulario(this)" action="envia3_2.php" method="post" enctype="multipart/form-data" name="email">
<input type=hidden name="recipient" value='criacao@imaxcomunicacao.com.br'>
	<input type=HIDDEN name="subject" value="Trabalhe Conosco">
	<input type=hidden name="redirect" value='http://www.strategique.com.br/Obrigadotra.htm'>
<h1 align="center" class="style1">Formulário de email com anexo </h1>
<table width="32%" border="0" align="center">
<tr>
<td><div align="right"><span class="texto">Para</span></div></td>
<td><input name="nome_para" type="text" id="nome_para"></td>
</tr>
<tr>
<td><div align="right" class="texto">Email</div></td>
<td><input name="email" type="text" id="email">
</tr>
<tr>
<td><div align="right" class="texto">Trabalho</div></td>
<td><input type=checkbox name=Trabalho value="Promotor(a)_de_vendas">
   </font><FONT face="Tahoma" size=2 align=center><span class="style2">Promotor(a) de vendas  <br />
   <input type=checkbox name=Trabalho1 value="Coordenador(a)_de_equipe">
   Coordenador(a) de equipe<br />
   <input type=checkbox name=Trabalho2 value="Serviços_de_apoio">
   Serviços de apoio<br />
   <input type=checkbox name=Trabalho3 value="Serviços_de_entrega_de_folhetos">
   Serviços de entrega de folhetos </span></font></td>
</tr>

<tr>
<td><div align="right" class="texto">Deficiencia</div></td>
<td><select  class=InputText size=5 multiple="multiple" style=width:250px name="Deficiencia">
		<option value="Auditivo Não-Oralizado">Auditivo Não-Oralizado</option>
		<option value="Auditivo Oralizado">Auditivo Oralizado</option>
		<option value="Cego">Cego</option>
		<option value="Físico Amputado Inferior">Físico Amputado Inferior</option>
		<option value="Físico Amputado Superior">Físico Amputado Superior</option>
		<option value="Físico Membros Inferiores">Físico Membros Inferiores</option>
		<option value="Físico Membros Superiores">Físico Membros Superiores</option>
		<option value="Intelectual">Intelectual</option>
		<option value="Nanismo">Nanismo</option>
		<option value="Visual Subnormal">Visual Subnormal</option>
	  </select></td>
</tr>


<tr>
<td><div align="right" class="texto">Assunto</div></td>
<td><select name=Meios_de_Locomocao size=1   class=InputText style=width:200px>
		<option value="" selected>Selecione</option>
		<option value="Condutor de Veículo Próprio">Condutor de Veículo Próprio</option>
		<option value="Passageiro de Veículo Próprio">Passageiro de Veículo Próprio</option>
		<option value="Transporte Público">Transporte Público</option>
		<option value="Transporte Público Especializado">Transporte Público Especializado</option>
	  </select></td>
</tr>
<tr>
<td><div align="right" class="texto">Assunto</div></td>
<td><input name="assunto" type="text" id="assunto"></td>
</tr>
<tr>
<td><div align="right" class="texto">Mensagem</div></td>
<td><textarea name="mensagem" cols="50" rows="10" id="mensagem"></textarea></td>
</tr>
<tr>
<td><div align="right" class="texto">Anexo</div></td>
<td><input name="arquivo" type="file"></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Enviar"></td>
</tr>
</table>
</form>
</body>
</html>

envia3_2.php
<?php
/*Verifica qual é o sistema operacional e ajusta a quebra da linha funcional do cabeçalho de e-mail para Windows e Linux
Existem diferenças entre o ambiente Linux e Windows, por isso a validação abaixo configura a variável $quebra_linha com o caracter correto para cada sistema_operacional
Windows utiliza "\r\n"
Linux utiliza "\n"
*/
 
if(PHP_OS == "Linux") $quebra_linha = "\n"; //Se for Linux
elseif(PHP_OS == "WINNT") $quebra_linha = "\r\n"; // Se for Windows
else die("Este script não esta preparado para funcionar com o sistema operacional de seu servidor");
 
 
 
//define os dados do remetente (deve ser um e-mail do seu domínio conforme determina a RFC 822)
$email_to = 'criacao@imaxcomunicacao.com.br';

 
//pego os dados enviados pelo formulário
$nome_para = $_POST["nome_para"];
$email = $_POST["email"];
$mensagem = $_POST["mensagem"];
$assunto = $_POST["assunto"];
$trabalho = $_POST["Trabalho"];
$trabalho1 = $_POST["Trabalho1"];
$trabalho2 = $_POST["Trabalho2"];
$trabalho3 = $_POST["Trabalho3"];
$deficiencia = $_POST["Deficiencia"];
$meios_de_locomocao = $_POST["Meios_de_Locomocao"];


 
//formato o campo da mensagem
$mensagem = wordwrap( $mensagem, 50, "<br>", 1);
 
//valido os emails
if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email)){
 
echo('<center>Digite um email valido</center>');
echo('<center><a href="java script:history.go(-1)">Voltar</center></a>');
exit;
}

 
$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;
 
if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
 
$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));
$anexo = base64_encode($anexo);
fclose($fp);
 
$anexo = chunk_split($anexo);
$mensagem_cabecalho = '<P><FONT color=#3300ff size=5>Mensagem entregue com sucesso!!!</FONT></P>
<P>Esse email é um teste enviado no formato HTML via PHP mail();!</P>
<TABLE>
<TBODY>
<TR>
<TH bgColor=#ff6666><FONT color=#ffffff><SPAN style="BACKGROUND-COLOR: #ff0000">Locaweb</SPAN></FONT></TH>
<TR>
<TD align=middle>Keep it simple</TD></TR></TBODY></TABLE>';
 
$boundary = 'XYZ-' . date("dmYis") . '-ZYX';
$mens = '--' . $boundary . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: 8bits' . $quebra_linha;
$mens .= 'Content-Type: text/html; charset="ISO-8859-1"' . $quebra_linha . $quebra_linha;
$mens .= $mensagem_cabecalho . $quebra_linha;
$mens .= "Assunto: $assunto" . '<br>' . $quebra_linha = "\r\n";
$mens .= "Trabalho: $trabalho" . '<br>' . $quebra_linha = "\r\n";
$mens .= "Trabalho: $trabalho1" . '<br>' . $quebra_linha = "\r\n";
$mens .= "Trabalho: $trabalho2" . '<br>' . $quebra_linha = "\r\n";
$mens .= "Trabalho: $trabalho3" . '<br>' . $quebra_linha = "\r\n";
$mens .= "Deficiencia: $deficiencia" . '<br>' . $quebra_linha = "\r\n";
$mens .= "Meios: $meios_de_locomocao" . '<br>' . $quebra_linha = "\r\n";

$mens .= "Mensagem: $mensagem" . $quebra_linha = "\r\n";
$mens .= '--' . $boundary . $quebra_linha;
$mens .= 'Content-Type: ' . $arquivo["type"] . $quebra_linha;
$mens .= 'Content-Disposition: attachment; filename="' . $arquivo["name"] . '"' . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: base64' . $quebra_linha . $quebra_linha;
$mens .= $anexo . $quebra_linha;
$mens .= '--' . $boundary . '--' . $quebra_linha;

 
$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers .= 'From: ' . $email_to . $quebra_linha;
$headers .= 'Return-Path: ' . $email . $quebra_linha;
$headers .= 'Content-type: multipart/mixed; boundary="' . $boundary . '"' . $quebra_linha;
$headers .= $boundary . $quebra_linha;
 
//envio o email com o anexo
mail($email_to,"Trabalhe Conosco",$mens,$headers);
 
echo"<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=http://www.strategique.com.br/Obrigadotra.htm'>";
}
 
//se nao tiver anexo
else{
 
$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers .= 'Content-type: text/html; charset=iso-8859-1' . $quebra_linha;
$headers .= 'From: ' . $email_to . $quebra_linha;
$headers .= 'Return-Path: ' . $email . $quebra_linha;
 
//envia o email sem anexo
mail($email_to,"Trabalhe Conosco",$mens,$headers);
 
echo"<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=http://www.strategique.com.br/Obrigadotra.htm'>";
}
 
?>

Eu achei uns códigos que ajuda nisso mais usa o echo, tem como usar o $mens?Por que é lá que coloco o formulário respondido que vai no e-mail.

Obrigado.

Formulário

03/09/2009, 17:49

Olá Pessoal,

Estou com um problema em um formulário, eu quero que no e-mail onde vai para empresa o to(de) fica o e-mail que cliente digitou no formulário e o from(para) fica o e-mail da nossa empresa. Mais acontece que não consigo fazer isso, da http 500, então eu coloco o e-mail da nossa empresa para o to(de) e from(para) para funcionar, mais fica horrivel.

Resumindo, quero colocar o: $email = $_POST["email"];
Que é o e-mail onde o cliente vai colocar no formulário.

No: $headers .= 'From: ' . $email . $quebra_linha;

Mais ao fazer isso da http 500 e no mail eu coloco headers e etc: mail($email_to,
"Formulário",
$mens
,$headers,
);

Meu código:

email.htm
<html>
<head>
<script language="javascript">
 
function checa_formulario(email){
 
if (email.nome_para.value == ""){
alert("Por Favor nao deixe o nome em branco!!!");
email.nome.focus();
return (false);
}
 
if (email.email.value == ""){
alert("Nao deixe o email destinatario em branco!!!");
email.email.focus();
return (false);
}
 
if (email.assunto.value == ""){
alert("Nao deixe o assunto em branco!!!");
email.assunto.focus();
return (false);
}
 
}
</script>
<title>Enviando e-mail com anexo atrav&eacute;s do PHP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.email {
text-transform: lowercase;
}
.texto {
color: #0000FF
}
.style1 {color: #FF0000}
 
-->
</style>
</head>
 
<body onLoad="document.email.nome.focus();">
<form onSubmit="return checa_formulario(this)" action="envia2.php" method="post" enctype="multipart/form-data" name="email">
<input type=hidden name="recipient" value='criacao@imaxcomunicacao.com.br'>
	<input type=HIDDEN name="subject" value="Trabalhe Conosco">
	<input type=hidden name="redirect" value='http://www.strategique.com.br/Obrigadotra.htm'>
<h1 align="center" class="style1">Formulário de email com anexo </h1>
<table width="32%" border="0" align="center">
<tr>
<td><div align="right"><span class="texto">Para</span></div></td>
<td><input name="nome_para" type="text" id="nome_para"></td>
</tr>
<tr>
<td><div align="right" class="texto">Email</div></td>
<td><input name="email" type="text" id="email">
</tr>
<tr>
<td><div align="right" class="texto">Assunto</div></td>
<td><input name="assunto" type="text" id="assunto"></td>
</tr>
<tr>
<td><div align="right" class="texto">Mensagem</div></td>
<td><textarea name="mensagem" cols="50" rows="10" id="mensagem"></textarea></td>
</tr>
<tr>
<td><div align="right" class="texto">Anexo</div></td>
<td><input name="arquivo" type="file"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Enviar"></td>
</tr>
</table>
</form>
</body>
</html>

envia2.php
<?php
/*Verifica qual é o sistema operacional e ajusta a quebra da linha funcional do cabeçalho de e-mail para Windows e Linux
Existem diferenças entre o ambiente Linux e Windows, por isso a validação abaixo configura a variável $quebra_linha com o caracter correto para cada sistema_operacional
Windows utiliza "\r\n"
Linux utiliza "\n"
*/
 
if(PHP_OS == "Linux") $quebra_linha = "\n"; //Se for Linux
elseif(PHP_OS == "WINNT") $quebra_linha = "\r\n"; // Se for Windows
else die("Este script não esta preparado para funcionar com o sistema operacional de seu servidor");
 
 
 
//define os dados do remetente (deve ser um e-mail do seu domínio conforme determina a RFC 822)
$email_to = 'web@master.com.br';
 
//pego os dados enviados pelo formulário
$nome_para = $_POST["nome_para"];
$email = $_POST["email"];
$mensagem = $_POST["mensagem"];
$assunto = $_POST["assunto"];
 
//formato o campo da mensagem
$mensagem = wordwrap( $mensagem, 50, "<br>", 1);
 
//valido os emails
if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email)){
 
echo('<center>Digite um email valido</center>');
echo('<center><a href="java script:history.go(-1)">Voltar</center></a>');
exit;
}
 
$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;
 
if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
 
$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));
$anexo = base64_encode($anexo);
fclose($fp);
 
$anexo = chunk_split($anexo);
$mensagem_cabecalho = '<P><FONT color=#3300ff size=5>Mensagem entregue com sucesso!!!</FONT></P>
<P>Esse email é um teste enviado no formato HTML via PHP mail();!</P>
<TABLE>
<TBODY>
<TR>
<TH bgColor=#ff6666><FONT color=#ffffff><SPAN style="BACKGROUND-COLOR: #ff0000">Locaweb</SPAN></FONT></TH>
<TR>
<TD align=middle>Keep it simple</TD></TR></TBODY></TABLE>';
 
$boundary = 'XYZ-' . date("dmYis") . '-ZYX';
$mens = '--' . $boundary . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: 8bits' . $quebra_linha;
$mens .= 'Content-Type: text/html; charset="ISO-8859-1"' . $quebra_linha . $quebra_linha;
$mens .= $mensagem_cabecalho . $quebra_linha;
$mens .= "Assunto: $assunto" . '<br>' . $quebra_linha = "\r\n";
$mens .= "Mensagem: $mensagem" . $quebra_linha = "\r\n";
$mens .= '--' . $boundary . $quebra_linha;
$mens .= 'Content-Type: ' . $arquivo["type"] . $quebra_linha;
$mens .= 'Content-Disposition: attachment; filename="' . $arquivo["name"] . '"' . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: base64' . $quebra_linha . $quebra_linha;
$mens .= $anexo . $quebra_linha;
$mens .= '--' . $boundary . '--' . $quebra_linha;
 
$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers = "From: ".$email;
$headers .= 'Content-type: multipart/mixed; boundary="' . $boundary . '"' . $quebra_linha;
$headers .= $boundary . $quebra_linha;
 
//envio o email com o anexo
mail($email_to, 
	  "Trabalhe Conosco",
	  $mens
	  ,$headers,
	  );
 
echo('Email enviado com Sucesso!');
}

?>

Muito obrigado e desculpa o incomodo.

IPB Skin By Virteq