Jump to content


Photo

Salvar Msg Enviadas


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

#1 Tatiana Carrazzoni

Tatiana Carrazzoni

    Turista

  • Usuários
  • 26 posts
  • Sexo:Feminino
  • Localidade:Recife

Posted 28/01/2008, 16:09

Olá...

gostaria que me ajudassem...

o problema é o seguinte quando envia para varios grupos, ele salva no banco mas o grupo vai igual...
tenho o código abaixo, gostaria que ao ser enviada as msgs p determinados grupos, as mesmas fossem salvas no banco de dados(phpmyadmim)...

[codebox]<?
include("../config.php");
if($contagem !=1) {
header("Location: index.php");
}else{
$user = mysql_query("SELECT * FROM usuarios WHERE login = '".$login."'") or die(erro(mysql_error()));
$user1 = mysql_fetch_array($user);
if($nivel < 2) {
$user = "$login";
}else{
$user = "<a href=\"admin.php?acao=info_user&id=".$user1[id]."\">$login</a>";
}

$lista = '';
foreach($_POST['grupo'] as $item){
$lista .= $item . ', ';
}
$lista = substr($lista, 0, strlen($lista) -2);

$sql_news = "
SELECT *
FROM newsletter
WHERE id = ".$_POST['newsletter'];

if(!$res_news = mysql_query($sql_news)){
die('Erro ao buscar Newsletter');
}

$fet_news = mysql_fetch_array($res_news);

$sql_email = "
SELECT nome,
email
FROM clientes
WHERE grupo IN(" . $lista . ")
";

if(!$res_email = mysql_query($sql_email)){
die('Erro ao buscar e-mails');
}
$cabecalho = "MIME-Version: 1.0\r\n";
$cabecalho.= "Content-type: text/html; charset=iso-8859-1\r\n";
$cabecalho.= "FROM: Newsletter \r\n";

while($fet_email = mysql_fetch_array($res_email)){
if(@mail($fet_email['nome'] . '<' . $fet_email['email'] . '>', $_POST['assunto'], $fet_news['descricao'], $cabecalho)){
$sql_salva = mysql_query("INSERT INTO enviadas (id, assunto, grupo, data) VALUES ('','$assunto', '$lista', NOW())", $db) or die(erro(mysql_error()));
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR...ml4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title><?php echo $nome_site; ?></title>
<link rel="StyleSheet" href="../css.css" type="text/css">
&lt;script src="../js.js" language="javascript"></script>
&lt;script src="js/prototype.js" language="javascript"></script>
<style type="text/css">
<!--
.style1 {
color: #000000;
font-weight: bold;
}
-->
</style>
</head>
<body>
<div align="center">
<table width="803" border="1" cellpadding="2" cellspacing="0" bordercolor="#D8E1F3">
<tr valign="top" bgcolor="#D8E1F3">
<td colspan="2">
<table width="100%" border="0">
<tr>
<td align="center"><font color="#000000"><strong><?php echo $user; ?></strong>, bem vindo ao sistema de newsletter</font> </td>
</tr>
</table>
</td>
</tr>
<tr><td colspan="2"></td></tr>
<tr valign="top">
<td width="200" align="left" bgcolor="#FFFFFF">
<table width="100%" border="0">
<tr>
<td align="center" bgcolor="#D8E1F3" class="style1 style3">Menu</td>
</tr>
<tr>
<td> </td>
</tr>
<tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">
<td><a href="admin.php">- Principal</a></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="center" bgcolor="#D8E1F3" class="style1 style3">Email Remetente</td>
</tr>
<tr>
<td> </td>
</tr>
<tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">
<td><a href="admin.php?acao=er">- Listar Remetente</a></td>
</tr>
<tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">
<td><a href="admin.php?acao=ed">- Adicionar Remetente</a></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="center" bgcolor="#D8E1F3" class="style1 style3">Grupos</td>
</tr>
<tr>
<td> </td>
</tr>
<tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">
<td><a href="admin.php?acao=gc">- Listar Grupo</a></td>
</tr>
<tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">
<td><a href="admin.php?acao=ad">- Adicionar Grupo</a></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="center" bgcolor="#D8E1F3" class="style1 style3">Clientes</td>
</tr>
<tr>
<td> </td>
</tr>
<tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">
<td><a href="admin.php?acao=gsc">- Listar Clientes</a></td>
<tr>
<td> </td>
</tr>
<tr>
<td align="center" bgcolor="#D8E1F3" class="style1 style3">Imagens</td>
</tr>
<tr>
<td> </td>
</tr>
<tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">
<td><a href="admin.php?acao=gci">- Listar Imagens</a></td>
<tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">
<td><a href="admin.php?acao=adi">- Adicionar Imagens</a></td>
<? if($nivel == 2) { ?>
<? } ?>
<tr>
<td> </td>
</tr>
<tr>
<td align="center" bgcolor="#D8E1F3" class="style1 style3">Newsletter</td>
</tr>
<tr>
<td> </td>
</tr>
<tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">
<td><a href="admin.php?acao=gd">- Listar Newsletter</a></td>
</tr>
<tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">
<td><a href="admin.php?acao=adsd">- Adicionar Newsletter</a></td>
</tr>
<tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">
<td><a href="admin.php?acao=enews">- Enviar Newsletter</a></td>
</tr>
<tr>
<td> </td>
</tr>
<tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">
<td><a href="logout.php">- Logout</a> </td>
</tr>
</table>
<center>
</center>
<br>
<br>
</td>
<td width="603"><br>
<div align="center">
<table width="643" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" align="left" valign="top">
<? echo "email enviado com sucesso para ".$fet_email['email']." (".$fet_email['nome'].")";
}
else{
echo "falha ao enviar o email ".$fet_email['email']." (".$fet_email['nome'].")";
}
};
?>
</td>
</tr>
</table>
</div></td>
</tr>
<tr valign="top" bgcolor="#D8E1F3">
<td colspan="2"> </td>
</tr>
</table>
</div>
</body>
</html>
<?
}
?>[/codebox]

Attached File  erro.jpg   62.62KB   8 downloads

Edição feita por: Paulo André, 29/01/2008, 07:53.


#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 29/01/2008, 08:00

Poste o formulário, creio que vai ficar mais fácil. (y) Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Tatiana Carrazzoni

Tatiana Carrazzoni

    Turista

  • Usuários
  • 26 posts
  • Sexo:Feminino
  • Localidade:Recife

Posted 29/01/2008, 08:52

ai vão os codigos...


enews.php

<script language="javascript" type="text/javascript">function getDescricao(id){	if (!id) { // ve se o id foi enviado		alert('O id não foi passado!');	} else {		var url = 'getDescricao.php?id='+id; //url que será acessada pelo Ajax		var pars = ''; // parâmetros que serão passados quando o método for POST		var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: setDescricao });	}}function setDescricao(request){	$('descricao').innerHTML = request.responseText; // coloca o retorno da requisição dentro da div 'descricao'}</script><form name="form" id="form" action="actionNewsletter.php" enctype="multipart/form-data" method="post">  <p>Remetente:<br/><select name="remetente" id="remetente">		<?$sql2 = mysql_query("SELECT * FROM remetente ORDER BY email") or die(erro(mysql_error()));echo "<option value=\"selecione\">Selecione um remetente:</option>\n";while($c = mysql_fetch_array($sql2)) {echo "<option value=\"".$c[id]."\">|.".$c[email]."</option>\n";}?>	</select></p><p>Grupos: <br/> <?$sql_grupos	= "SELECT id, nome FROM grupo ORDER BY nome";if(!$res_grupos = mysql_query($sql_grupos)){	die('Erro ao buscar grupos');}?><table width="300" border="0" cellpadding="3" cellspacing="3" border="3" bordercolor="#993399"><tr><? while($fet_grupos = mysql_fetch_array($res_grupos)){?>	<td>	<input type="checkbox" name="grupo[]" value="<? print($fet_grupos['id']); ?>"> <? print($fet_grupos['nome']) ?>&nbsp;	</td><?}?></tr></table></p>  <p><label>Assunto:<br/>	<input type="text" name="assunto" id="assunto" />	</label></p>  <p>Newsletter: <br/>	<select name="newsletter" id="newsletter" onchange="getDescricao(this.options[this.selectedIndex].value);">	  <?$sql2 = mysql_query("SELECT * FROM newsletter ORDER BY nome") or die(erro(mysql_error()));echo "<option value=\"selecione\">Selecione uma newsletter:</option>\n";while($c = mysql_fetch_array($sql2)) {echo "<option value=\"".$c[id]."\">|.".$c[nome]."</option>\n";}?>	</select>	<br />	<br />  <div id="descricao">&nbsp;</div></p>  <p><input name="Submit" type="submit" id="submit" value="enviar" /></p></form>


actionNewsletter.php
<?include("../config.php");if($contagem !=1) {header("Location: index.php");}else{$user = mysql_query("SELECT * FROM usuarios WHERE login = '".$login."'") or die(erro(mysql_error()));$user1 = mysql_fetch_array($user);if($nivel < 2) {$user = "$login";}else{$user = "<a href=\"admin.php?acao=info_user&id=".$user1[id]."\">$login</a>";}$lista = '';foreach($_POST['grupo'] as $item){  $lista .= $item . ', ';}$lista = substr($lista, 0, strlen($lista) -2);$sql_news = "SELECT * FROM newsletter WHERE id = ".$_POST['newsletter'];if(!$res_news = mysql_query($sql_news)){ die('Erro ao buscar Newsletter');}$fet_news = mysql_fetch_array($res_news);$sql_email = "SELECT nome_cli, email FROM clientes WHERE grupo IN(" . $lista . ")";if(!$res_email = mysql_query($sql_email)){ die('Erro ao buscar e-mails');}$cabecalho = "MIME-Version: 1.0\r\n";$cabecalho.= "Content-type: text/html; charset=iso-8859-1\r\n";$cabecalho.= "FROM: Newsletter\r\n";?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title><?php echo $nome_site; ?></title><link rel="StyleSheet" href="../css.css" type="text/css"><script src="../js.js" language="javascript"></script><script src="js/prototype.js" language="javascript"></script><style type="text/css"><!--.style1 {	color: #000000;	font-weight: bold;}--></style></head><body><div align="center">  <table width="803" border="1" cellpadding="2" cellspacing="0" bordercolor="#D8E1F3">  	<tr valign="top" bgcolor="#D8E1F3">	  <td colspan="2">		<table width="100%"  border="0">		  <tr>			<td align="center"><font color="#000000"><strong><?php echo $user; ?></strong>, bem vindo ao sistema de newsletter</font> </td>		  </tr>		</table>	  </td>	</tr>	<tr><td colspan="2"></td></tr>	<tr valign="top">	  <td width="200" align="left" bgcolor="#FFFFFF">		<table width="100%"  border="0">		  <tr>			<td align="center" bgcolor="#D8E1F3" class="style1 style3">Menu</td>		  </tr>		  <tr>			<td>&nbsp;</td>		  </tr>		  <tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">			<td><a href="admin.php">- Principal</a></td>		  </tr>		  <tr>			<td>&nbsp;</td>		  </tr>		  <tr>			<td align="center" bgcolor="#D8E1F3" class="style1 style3">Email Remetente</td>		  </tr>		  <tr>			<td>&nbsp;</td>		  </tr>		  <tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">			<td><a href="admin.php?acao=er">- Listar Remetente</a></td>		  </tr>		  <tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">			<td><a href="admin.php?acao=ed">- Adicionar Remetente</a></td>		  </tr>		  <tr>			<td>&nbsp;</td>		  </tr>		  <tr>			<td align="center" bgcolor="#D8E1F3" class="style1 style3">Grupos</td>		  </tr>		  <tr>			<td>&nbsp;</td>		  </tr>		  <tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">			<td><a href="admin.php?acao=gc">- Listar Grupo</a></td>		  </tr>		  <tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">			<td><a href="admin.php?acao=ad">- Adicionar Grupo</a></td>		  </tr>		  <tr>			<td>&nbsp;</td>		  </tr>		  <tr>			<td align="center" bgcolor="#D8E1F3" class="style1 style3">Clientes</td>		  </tr>		  <tr>			<td>&nbsp;</td>		  </tr>		  <tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">			<td><a href="admin.php?acao=gsc">- Listar Clientes</a></td>		  <tr>			<td>&nbsp;</td>		  </tr>		  <tr>			<td align="center" bgcolor="#D8E1F3" class="style1 style3">Imagens</td>		  </tr>		  <tr>			<td>&nbsp;</td>		  </tr>		  <tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">			<td><a href="admin.php?acao=gci">- Listar Imagens</a></td>		  <tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">			<td><a href="admin.php?acao=adi">- Adicionar Imagens</a></td>			<? if($nivel == 2) { ?>			<? } ?>		  <tr>			<td>&nbsp;</td>		  </tr>		  <tr>			<td align="center" bgcolor="#D8E1F3" class="style1 style3">Newsletter</td>		  </tr>		  <tr>			<td>&nbsp;</td>		  </tr>		  <tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">			<td><a href="admin.php?acao=gd">- Listar Newsletter</a></td>		  </tr>		  <tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">			<td><a href="admin.php?acao=adsd">- Adicionar Newsletter</a></td>		  </tr><tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">  <td><a href="admin.php?acao=enews">- Enviar Newsletter</a></td></tr><tr>			<td>&nbsp;</td>		  </tr>		  <tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''">			<td><a href="logout.php">- Logout</a> </td>		  </tr>		</table>		<center>		</center>		<br>		<br>	  </td><td width="603"><br>		  <div align="center">			<table width="643" border="0" cellspacing="0" cellpadding="0">			  <tr>				<td width="100%" align="left" valign="top">				 <? while($fet_email = mysql_fetch_array($res_email)){	if(@mail($fet_email['nome_cli'] . '<' . $fet_email['email'] . '>', $_POST['assunto'], $fet_news['descricao'], $cabecalho)){$sql_salva =  mysql_query("INSERT INTO enviadas (id, assunto, grupo, email, data) VALUES ('','$assunto', '$lista', '$email', NOW())", $db) or die(erro(mysql_error()));echo "email enviado com sucesso para ".$fet_email['email']." (".$fet_email['nome_cli'].")<br>";}else{echo "falha ao enviar o email ".$fet_email['email']." (".$fet_email['nome_cli'].")<br>";}};?>				</td>			  </tr>			</table>		</div></td>	</tr>	<tr valign="top" bgcolor="#D8E1F3">	  <td colspan="2">&nbsp;</td>	</tr>  </table></div></body></html><?}?>

Edição feita por: Paulo André, 29/01/2008, 09:03.


#4 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 29/01/2008, 09:07

Para trecho de códigos longos, procure utilizar a tag CODEBOX que vai amenizar a visualização do tópico. :)

Ok, pelo que percebi, cada linha que irá adicionar no banco é um grupo, certo?

Se for isto, você precisa fazer a inserção dentro da iteração que você faz com $_POST['grupo'], ou seja:

<?php

foreach( $_POST['grupo'] as $grupo )
{
	// INSERT INTO bla bla bla
}

?>

Dentro deste foreach que você faz tudo que tem que fazer, que será baseado no grupo corrente da iteração.Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#5 Tatiana Carrazzoni

Tatiana Carrazzoni

    Turista

  • Usuários
  • 26 posts
  • Sexo:Feminino
  • Localidade:Recife

Posted 30/01/2008, 08:15

na ralidade eu queria q inserisse tanto o grupo quanot o email, mas acho q vai ser mais complicado.. então eu queria q quando a news fosse enviada, salvasse os dados corretamente...

as tabelas estão assim:

id grupo
1 site
2 loja


id nome_cli email grupo
1 Tatiana tatianacarrazzoni@gmail.com 1
2 maga maga_tati@hotmail.com 2


ele ta salvando os enviados da seguinte maneira:
assunto grupo email data
grupos 2 maga_tati@hotmail.com 2008-01-29
grupos 2 tatianacarrazzoni@gmail.com 2008-01-29
grupos 2 maga_tati@hotmail.com 2008-01-29
grupos 2 tatianacarrazzoni@gmail.com 2008-01-29


quando na realidade era p ser salvo assim:

assunto grupo email data
grupos 2 maga_tati@hotmail.com 2008-01-29
grupos 1 tatianacarrazzoni@gmail.com 2008-01-29

e outra, ele n ta salvando os grupos selecionados, apenas um ele salva... ele só salva o último q foi clicado...

consegui resolver o problema...

Edição feita por: Tatiana Carrazzoni, 30/01/2008, 08:14.





0 user(s) are reading this topic

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

IPB Skin By Virteq