Jump to content


Photo

Mail () - Acento As Vezes Funciona, As Vezes Não


  • Faça o login para participar
2 replies to this topic

#1 guilhermevs

guilhermevs

    Turista

  • Usuários
  • 53 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 21/04/2007, 02:34

Ae galera,
através da função mail, estou enviando email para uma lista de pessoas. O problema é que dependendo do caso, o email vem sem acento.
Se eu clico em reiniciar senha, o email vem com acento. Se eu clico ver notícias, o email vem sem acento.
Não sei o que pode ser... Vo colocar o código de ambos aqui.
Espero que alguém possa ajudar.

esqueci a senha
<?
	require 'mydef.php'; //apenas conecta no BD
	$ver = mysql_query("SELECT email FROM usuario WHERE login = '".$_POST['login']."'") or die('ERRO');
	$log = mysql_num_rows($ver);
   		if ($log == 0) {
			include 'esq.php'; ?> //<head></head> AQUI tem <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
			<div class="main-copy" id="main">
		<div align="center">
		  <p>Informações erradas.</p>
		</div>
  </div>	  
<? include 'dir.php';
		}
		else {
			$info = mysql_fetch_array($ver);
			if($info['email'] != $_POST['email']) {
				include 'esq.php'; ?>
			<div class="main-copy" id="main">
		<div align="center">
		  <p>Informações erradas.</p>
		</div>
  </div>	  
				<? include 'dir.php'; //finaliza meu </body>
			}
			else { 
				$c1 = rand(0,9);
				$c2 = rand(0,9);
				$c3 = rand(0,9);
				$c4 = rand(0,9);
				$c5 = rand(0,9);
				$cod = $c1 . $c2 . $c3 . $c4 . $c5;
				$cod = md5($cod);
				$ver1 = mysql_query("SELECT login FROM senha WHERE login='".$_POST['login']."'");
				$log1 = mysql_num_rows($ver1);
   				if ($log1 == 0)
					$por = mysql_query("INSERT INTO senha (login, codigo) VALUES ('".$_POST['login']."','$cod')");
				else
					$por = mysql_query("UPDATE senha SET codigo='$cod' WHERE login='".$_POST['login']."'");	
				$oiu = explode("/", $_SERVER['REQUEST_URI']);
				$res = count($oiu)-2;
				header('Location: xxxxx.php?l='.$_POST['login'].'&e='.$_POST['email'].'&c='.$cod.'&v='.$oiu[$res].'');
			}
		}
?>


receber noticia
<?
session_start();
if(isset($_SESSION['login'])) {
	require'mydef.php'; //conecta no BD
	if (isset($_POST['submit2'])) {
		$erro = "Erro ao cadastrar. Erros encontrados:";
		$tip = $_POST['tipo'];
		if(!$_POST['dia_form'])
		   	$erro = $erro . "<br>O campo dia tem que estar preenchido.";
		if(!$_POST['mes_form'])
	   		$erro = $erro . "<br>O campo mês tem que estar preenchido.";
		$data = date("m-y", strtotime("-6 hours"));
$data = explode("-", $data);
$month = $data[0];
$year = $data[1];
		if($_POST['mes_form'] < $month)
			$year++;
		if(!$_POST['hora_form'])
			$erro = $erro . "<br>O campo horário tem que estar preenchido.";
		else {
			$teste = $_POST['hora_form'];
			$test = explode(":", $teste);
			if(count($test) != 2)
				$erro = $erro . "<br>O campo horário tem que estar preenchido da seguinte maneira HH:MM.";
			$hs = $test[0] . ":" . $test[1];
			if(strlen($test[0]) != 2)
				$hs = "0" . $hs;
		}
		if(!$_POST['email_form'])
		   	$erro = $erro . "<br>O campo email para contato tem que estar preenchido.";
		if(!$_POST['tel_form'])
		   	$erro = $erro . "<br>O campo telefone para contato tem que estar preenchido.";
		if(!$_POST['para_form'])
			$erro = $erro . "<br>O campo para tem que estar selecionado.";
		if($erro == "Erro ao cadastrar. Erros encontrados:") {
			$_POST['adicional_form'] = strip_tags($_POST['adicional_form']);
			$_POST['tel_form'] = strip_tags($_POST['tel_form']);
			$_POST['email_form'] = strip_tags($_POST['email_form']);
			if (!get_magic_quotes_gpc()) {
				$_POST['adicional_form'] = addslashes($_POST['adicional_form']);
				$_POST['tel_form'] = addslashes($_POST['tel_form']);
				$_POST['email_form'] = addslashes($_POST['email_form']);
		   	}
		$data = mktime(0,0,0,$_POST['mes_form'],$_POST['dia_form'],$year);
		switch(date("w",$data)) {
			  case '0': $sem = "Dom:Domingo"; break;
			  case '1': $sem = "Seg:Segunda-Feira"; break;
			  case '2': $sem = "Ter:Terca-Feira"; break;
			  case '3': $sem = "Qua:Quarta-Feira"; break;
			  case '4': $sem = "Qui:Quinta-Feira"; break;
			  case '5': $sem = "Sex:Sexta-Feira"; break;
			  case '6': $sem = "Sab:Sabado"; break;
		}
		$regdate = date("y-m-d H:i", strtotime("-6 hours"));
	   	$insert = mysql_query("INSERT INTO $tip (login,dia,mes,ano,hora,semana,para,email,telefone,adicional,cidade,date_cad) VALUES ('".$_SESSION['login']."','".$_POST['dia_form']."','".$_POST['mes_form']."','$year','$hs','$sem','".$_POST['para_form']."','".$_POST['email_form']."','".$_POST['tel_form']."','".$_POST['adicional_form']."','".$_POST['cidade']."','$regdate')");
		$emails = mysql_query("SELECT email from usuario WHERE cidade='".$_POST['cidade']."'");
		while($fil = mysql_fetch_array($emails)) {
			$list = $list . $fil['email'] . ", ";
		}
		$sem = explode(":", $sem);
		$data = $_POST['dia_form'] . $_POST['mes_form'];
header('Location: xxxx?semana='.$sem[1].'&hora='.$hs.'&login='.$_SESSION['login'].'&status='.$status.'&cidade='.$_POST['cidade'].'&cmp='.$cmp.'&data='.$data.'&link=&emails='.$list.'&id='.$tip.'');
		}
		else
			echo $erro . "<br><a href=\"cad.php\">Voltar</a>";
	}
	else
		include 'index.php';
}
?>

os dois codigos que mandam email são:

email esqueci senha:
<?
$nome = "A";
$to = $_GET["e"];
$from = "@gmail.com";
$subject = "Esqueci a Senha";
$mailheaders = "From: \"$nome\" <$from>\r\n";
$mailheaders .= "Reply-To: $from\r\n";
$body = "Olá " . $_GET['l'] . ",\n\rAtravés do nosso site, foi pedido que sua senha fosse resetada. Caso você não tenha pedido, ignore esse email e assim sua senha continuará a mesma.\n\rPara resetar sua senha, entre em http:// . "\n\rQualquer dúvida entre em contato através de @gmail.com\n\r";
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: \"$nome\" <$from>\r\n";
mail($to, stripslashes($subject), $body, $mailheaders);
header('Location: http://.php');
?>


email ver notícia
<?
		$to = '@gmail.com';
	$nome = 'A';
	$from = '@gmail.com';
	$dia = substr($_GET['data'], 0, 2);
	$mes = substr($_GET['data'], 2, 2);
	$subject = $_GET['semana'] . " " . $_GET['hora'] . " - " . $_GET['login'] . " " . $_GET['status'];
	$body = "Olá,\n\r" . $_GET['login'] . " está ..." . ", dia " . $dia . "/" . $mes . " (" . $_GET['semana'] . ") às " . $_GET['hora'] . " hs.\n\rPara maiores informações acesse: http://.php?&id=" . $id . "\n\r\n\r@gmail.com";
	$mailheaders = "From: \"$nome\" <$from>\r\n";
	$mailheaders .= "Reply-To: $from\n";
	$mailheaders .= "BCC: " . $_GET['emails'] . "\n";
	$headers  = "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
	$headers .= "From: \"$nome\" <$from>\r\n";
	mail($to, stripslashes($subject), $body, $mailheaders);
	header('Location: http:.php?&id='.$id.'');
?>

No 1o. email veio certinho, mas no 2o. vem sempre com erro que nem esse: "Para maiores informações"

PRECISO MUITO DE AJUDA!
Valeu!
Ainda to aprendendo...

http://www.caronasunicamp.com

#2 ckR

ckR

    Normal

  • Usuários
  • 64 posts
  • Sexo:Não informado

Posted 21/04/2007, 02:40

será que é o charset?
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
tente colocar isso entre <head> e </head> das páginas
se não ser tente charset=utf-8

até

(ok2)

#3 guilhermevs

guilhermevs

    Turista

  • Usuários
  • 53 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 21/04/2007, 02:44

já tem o iso e não funcionou. com uft ae estraga todos os acentos do site.
não é isso o erro! :(
Ainda to aprendendo...

http://www.caronasunicamp.com




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq