Ir para conteúdo

POWERED BY:

Arquivado

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

jroots

[Resolvido] Checkbox array (PHP)

Recommended Posts

Pessoal,

 

Seguinte to com uma dúvida que não consigo resolver de jeito nenhum...

Então...

Tenho uma listagem no site onde o usuário pode selecionar, utilizando checkbox, quais pessoas receberão o email que o mesmo irá digitar... Já consigo passar para uma variavel $EMAIL, os emails das pessoas selecionadas só que preciso separar cada email com " , " para realizar o envio em massa....

Alguém tem alguma idéia???

 

Obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca os emails em um array, e faz um foreach rodando um mail() pra cada email...

 

assim os emails não irão aparecer para todos os destinatários, e se forem muitos emails com certeza terá problemas com o tamanho do cabeçalho da mensagem no servidor smtp.

 

se mesmo assim quiser tentar, coloca os emails em um array e usa a função implode com ',' como caracter de união.

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca os emails em um array, e faz um foreach rodando um mail() pra cada email...

 

assim os emails não irão aparecer para todos os destinatários, e se forem muitos emails com certeza terá problemas com o tamanho do cabeçalho da mensagem no servidor smtp.

 

se mesmo assim quiser tentar, coloca os emails em um array e usa a função implode com ',' como caracter de união.

 

Muito obrigado pela ideia...

Teria algum exemplo???

 

Vou pensar em algo do tipo por aqui... valeu....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara a melhor maneira seria jogar, todos em uma uma array igual você fez, depois usar um foreach para juntar todas as arrays em uma unica string separada por "," e depois enviar um Mail só, para o script não ficar lerdo, pq senão vai enviar um email para cada contato...

 

 

seria +/- assim:

 

<?php

	$email[1] = 'test@ando.com';
	$email[2] = 'test1@ando.com';
	$email[3] = 'test2@ando.com';
	$email[4] = 'test3@ando.com';

$todosEmails = '';

foreach ($email as $a) {

	$todosEmails .= $a . ', ';

}

//agora é só enviar o email....

?>

 

Eu fiz correndo porem se tiver algum erro na sintase me desculpe.... é que to no trabalho....mais a lógica é essa

 

Flw...

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
// Verifica se usuário escolheu algum email nos checkbox da lista
if(isset($_POST["email"]))
{  
	// Faz loop pelo array dos emails....
	$EMAIL = "";
	foreach($_POST["email"] as $banco => $VALOR) { $$banco = $VALOR; $EMAIL .= $VALOR;}
}
else
{
	echo "Nenhum email selecionado!";
}

?>

Cara... to viajando legal...

Olha só... o script acima... ta pegando os emails selecionados pelo usuario (atraves de checkbox na consulta realizada ao banco) e jogando dentro de uma variavel... seria nesse momento que faria a separação por "," ou ";" ... pra enviar para varios emails selecionados?? A lógica do array ainda não tentei fazer.. .mas já valeu pela ajuda...

Obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
// Verifica se usuário escolheu algum email nos checkbox da lista
if(isset($_POST["email"])) {


	$EMAIL = "";

	foreach($_POST["email"] as $VALOR) {
	
		$EMAIL .= $VALOR . ', ';

	}

}else{

	echo "Nenhum email selecionado!";

}

?>

Tenta isso, vo almoça depois do almoço nois continua...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Deixo uma dica:

 

Vetorize o nome de cada checkbox. ex.: name='meu_nome[]'

 

Após isso faça um laço foreach, pegando os seus valores e colocando em vetores.

 

Após ter feito, você poderá unir através de implode ou join, como preferir.

 

Sucesso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
// Verifica se usuário escolheu algum email nos checkbox da lista
if(isset($_POST["email"])) {


	$EMAIL = "";

	foreach($_POST["email"] as $VALOR) {
	
		$EMAIL .= $VALOR . ', ';

	}

}else{

	echo "Nenhum email selecionado!";

}

?>

Tenta isso, vo almoça depois do almoço nois continua...

 

 

Fiz isso mas até agora nada de email... vamos ver... continuo testando... obrigado... !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu faria assim:

 

Nos checkboxs:

 

<input type="checkbox" name="email[]" value = "<?php echo $email; ?>" />

Na hora de enviar e-mail.

 

$email = $_POST['email'];

for( $i=0; $i<sizeof( $email ); $i++ ){
   $email_dest = $email[ $i ];
   mail($email_dest,"ASSUNTO",$mensagem,"From:teste@teste.com.br");

}

tenta ae abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

O esquema que o Kimura falo tb é uma boa opção....

 

 

Pois é.. tentei o código que você me mandou mas não funcionou...

Agora esse esquema do kimura fiquei meio sem noção de como fazer... sou iniciante... dai já viu né...r srsrsrsrs

 

mas de qq forma valeu a força..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara coloque todo o código da página ai que vai enviar o email que ai arruma-mos, e qualquer dúvida que você tiver é só perguntar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

"<input type='checkbox' name='email[]' value='$linha[strEmailContato]'";
isso coloquei na pagina onde tem a lista com os checkbox...

 

 

<html>
<head>
<title>Recebe e-mail</title>
</head>

<body>
<?php

// Verifica se usuário escolheu algum email nos checkbox da lista
if(isset($_POST["email"])) {
   
   foreach($_POST["email"] as $email)
   $mail_destino = $email . ";";
}

else{
	echo "Nenhum email selecionado!";
	
}

/* a variável $mensagem recebe os dados do formulário através do método POST. repare que estamos concatenando de acordo com o formato que queremos receber no e-mai. \n é uma quebra de linha. */
$mail_remetente = "envio@sisged.kinghost.net"; //Este email deve ser válido e existir como conta de email para o domínio 
$mail_assunto = "Assunto do email"; 
$mail_conteudo = "Este é um email teste"; 
$mail_headers = implode ( "\n",array ( "From: $mail_remetente","Subject: $mail_assunto","Return-Path: $mail_remetente","MIME-Version: 1.0","X-Priority: 3","Content-Type: text/html" ) ); 

//Enviando o email 
mail ($mail_destino,$mail_assunto,$mail_conteudo,$mail_headers); 
//
echo '<h3>Enviado com sucesso</h3>';
echo "<input type='button' value='voltar' onclick='history.back();'>";

?>
</body>
</html>
Está é o codigo da pagina que envia o email...

 

Valeu pela força...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código que envia tenta trocar por isso:

 

<html>
<head>
<title>Recebe e-mail</title>
</head>

<body>
<?php

// Verifica se usuário escolheu algum email nos checkbox da lista
if(isset($_POST["email"])) {

	foreach($_POST["email"] as $email) {

		$mail_destino = $email . ", ";

	}

} else {

	echo "Nenhum email selecionado!";

}

/* a variável $mensagem recebe os dados do formulário através do método POST. repare que estamos concatenando de acordo com o formato que queremos receber no e-mai. \n é uma quebra de linha. */
$mail_remetente = "envio@sisged.kinghost.net"; //Este email deve ser válido e existir como conta de email para o domínio
$mail_assunto = "Assunto do email";
$mail_conteudo = "Este é um email teste";
$mail_headers = implode ( "\n",array ( "From: $mail_remetente","Subject: $mail_assunto","Return-Path: $mail_remetente","MIME-Version: 1.0","X-Priority: 3","Content-Type: text/html" ) );

//Enviando o email
mail ($mail_destino,$mail_assunto,$mail_conteudo,$mail_headers);
//
echo '<h3>Enviado com sucesso</h3>';
echo "<input type='button' value='voltar' onclick='history.back();'>";

?>
</body>
</html>

Eu acho que agora vai, testa ai...

 

Obs.: Se você estiver tentando mandar email localmente, é meio difícil porque você vai ter que habilitar um servidor de envio de email, intaum seria melhor testar isso em um servidor WEB.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Email com anexo tem aqui no fórum explicando.

 

http://forum.imasters.com.br/index.php?showtopic=187537

 

http://forum.imasters.com.br/index.php?showtopic=162806

 

http://forum.imasters.com.br/index.php?showtopic=123954

 

 

Eu achei esses ai, aqui no fórum, mais qualquer coisa da uma pesquisada no nosso amigo Google, que com certeza você irá encontrar algo a respeito.

 

Qualquer dúvida é só postar....

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.