
Passagem De Um Array Por Parâmetro Em Url.
#1
Posted 18/02/2004, 09:37
exemplo:
<?
$emails[] = marcelolinhares@ig.com.br
$emails[] = info@marcelolinhares.com
<a href ="enviar_email2.php?emails_selecionados=$emails">Enviar e-mails selecionados</a>
?>
Bom, isso é possível? pois não estou conseguindo aplicar esse código.
Na verdade o que eu estou fazendo é o seguinte.
Desenvolvi uma mail-list, onde na parte de "Enviar e-mail", busca todos os e-mails cadastrados no banco de dados e lista na página...
O usuário através de um campo "checkbox", seleciona (ou não) o e-mail para qual vai ser enviado a mensagem....
Bom, eu não estou conseguindo passar para outra página ("enviar_mensagem2.php") o array contendo os e-mails selecionados.
Alguém tem uma solução para isto?
Desde já, grato,
Marcelo Linhares
Marcelo Linhares.com - Informação, Hospedagem e Soluções para WEB
www.marcelolinhares.com
Sou um eterno aprendiz...
Atualmente estou fascinado com tudo relacionado a WEB!
"Quando tudo está perdido na vida, mas somente quando tudo está perdido na vida, é que na vida você descobre que nem tudo está perdido minha flor"
By Poeta Zé Geraldo!
#2
Posted 18/02/2004, 09:56
Voce tem la uma pagina +- assim:
Botao - Joaozinho
Botao - Mariazinha
Onde Botao é um checkbox, que ativa ou nao para enviar o email para tal pessoa
<?
for ( $i = 0; $i < count($codigo); $i++ ) {
?>
<input name="email<? echo $i; ?>" type="hidden" value="<? echo $codigo[$i]; ?>"><input name="enviar_email<? echo $i; ?>" type="checkbox" value="s"> <? echo $nome[$i]; ?>
<?
}
?>
<input name="quantidade" type="hidden" value="<? echo count($codigo); ?>">
Então, esta parte é onde ele gera a lista de emails, e ao clicar no botao para enviar, ele estara enviando, como um array (email0, email1, email2, ...) todos os email. Ele enviar o codigo do email por hidden e apresenta na tela para escolher se deseja ou nao enviar para este email (o checkbox). E tambem sera necessario passar o total de emails listados
Na página que ira receber essas informações, voce nao pode trabalhar com arrays pois eles nao foram criados atraves de arrays, entao faça desta forma:
<?
for ( $si = 0; $si < $quantidade; $si++ ) {
$emaila = "email" . $si;//aqui ele entrega a variavel emaila o nome da variavel a ser trabalhada
$emailb = $$emaila;//eh 2x o $$ sim, naum estou ficando louco, eh para passar o valor da variavel, para uma variavel, entao emailb recebe o valor que foi passado pelo form, neste email
$enviara = "enviar_email" . $si;//mesmo tratamento acontece para verificar se o email sera enviado ou nao
$enviarb = $$enviara;
if ( $enviarb == "s" ) {
mail("para@servidor.com.br","Assunto",$mensagem);//o que sera enviado no email
}
}
?>
Ahh e isso aki deve ter ficado meio complicado para entender, qualquer coisa, soh falar

#3
Posted 18/02/2004, 16:11
Ela pega todos os elementos de um array, e transforma em uma string que eh soh colocar depois do ? (interrogação).
Exemplo:
$array['nome'] = 'Maria';
$array['sobrenome'] = 'Silva';
$query = http_build_query($array);
echo 'pagina.php?'.$query; // Volta pagina.php?nome=Maria&sobrenome=Silva
#4
Posted 18/02/2004, 21:16
<? $vogais = array('a', 'e', 'i', 'o', 'u'); ?><a href="pagina.php?vogais=<?=urlencode(implode(',', $vogais))?>">Link</a>
<? $vogais = explode(',', $_GET['vogais']); ?>
#5
Posted 19/02/2004, 10:52
valeu pessoal...
a minha dúvida persiste no seguinte aspecto...
colocar todos os elementos do vetor em uma string e passar por link não sobrecarrega não??
tendo em vista que são mais de 600 e-mails que a pessoa irá enviar a mensagem??
qual é o limite máximo de caracter que pode ser passada por uma string......
Xplayer...
eu ainda estou tentando ler o seu código..hehehe
certamente aparecerão dúvidas, e eu vou perguntar, mas achei ele bem interessante!
valeu!
Marcelo Linhares.com - Informação, Hospedagem e Soluções para WEB
www.marcelolinhares.com
Sou um eterno aprendiz...
Atualmente estou fascinado com tudo relacionado a WEB!
"Quando tudo está perdido na vida, mas somente quando tudo está perdido na vida, é que na vida você descobre que nem tudo está perdido minha flor"
By Poeta Zé Geraldo!
#7
Posted 19/02/2004, 14:37
#8
Posted 19/02/2004, 16:47
Realmente, é uma excelete dúvida... eu por exemplo precisei passar um texto de uma pagina pra ouytra, e naum dava pra usar inputs, a solucao q encontrei foi criar uma tabela temporaria no bd e em uma pagina eu gravo, na outra eu consulto e deleto o registro...Bom...
valeu pessoal...
a minha dúvida persiste no seguinte aspecto...
colocar todos os elementos do vetor em uma string e passar por link não sobrecarrega não??
tendo em vista que são mais de 600 e-mails que a pessoa irá enviar a mensagem??
qual é o limite máximo de caracter que pode ser passada por uma string......
Xplayer...
eu ainda estou tentando ler o seu código..hehehe
certamente aparecerão dúvidas, e eu vou perguntar, mas achei ele bem interessante!
valeu!
alguem sabe alguam otro jeito de passar strings sem ser por URL ou por inputs?
abraços,
Hugo
"Não sabendo que era impossível, foi lá e fez!"
←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←
#9
Posted 20/02/2004, 00:44
Olá. O limite de uma URL é de 2KB (2048 bytes).
só para mim ter uma noção...
se for "converter" os "bytes" em caracteres, dará quantos caracteres??
pois pelo que estou prevendo..
um banco de dados com mais ou menos 600 cadastrados,
se for "concatenar" todos os id's em uma só string seria mais ou menos uns 6000 caracteres...
será que dá para passar tudo isso por URL?
Marcelo Linhares.com - Informação, Hospedagem e Soluções para WEB
www.marcelolinhares.com
Sou um eterno aprendiz...
Atualmente estou fascinado com tudo relacionado a WEB!
"Quando tudo está perdido na vida, mas somente quando tudo está perdido na vida, é que na vida você descobre que nem tudo está perdido minha flor"
By Poeta Zé Geraldo!
#10
Posted 20/02/2004, 01:00
Vamos as soluções que achei nos dois casos.
O primeiro é de pegar quais checkbox's foram marcados e mostrar-lhes numa página de resultado (depois vc pode manipula-los).
Vamos primeiro fazer a página com os checks:
<form action="checkbox.php" method="post">
<input type="checkbox" name="check[]" value="valor01"> Valor 01<br>
<input type="checkbox" name="check[]" value="valor02"> Valor 02<br>
<input type="checkbox" name="check[]" value="valor03"> Valor 03<br>
<input type="checkbox" name="check[]" value="valor04"> Valor 04<br>
<input type="submit" name="submit" value="Enviar">
</form>
Agora na página de resultados utilize o segunite:
Não testei na minha máquina, mas se der erro me avisa.<?
if(isset($_POST["check"]))
{
echo "Os valores selecionados foram:<br><br>";
foreach($_POST["check"] as $check)
{
echo "$check<br>";
}
}
else
{
echo "Nengum valor foi selecionado!<br>";
}
?>
No outro caso de passar o texto pra outra página exitem várias possibilidades, uma delas é colocar o texto num COOKIE recuperar o valor e apagar na página de resultados.
Outra é colocar um input invisivel e pegar o valor na outra página.
Tem também a sua, de gravar numa tabela e depois apagar, acho que isso vai depender da sua criatividade.
Cristiano G.
#11
Posted 20/02/2004, 10:24
Olá. 1 caracter é 1 byte, logo o limite máximo é de 2048 caracteres.Olá. O limite de uma URL é de 2KB (2048 bytes).
só para mim ter uma noção...
se for "converter" os "bytes" em caracteres, dará quantos caracteres??
pois pelo que estou prevendo..
um banco de dados com mais ou menos 600 cadastrados,
se for "concatenar" todos os id's em uma só string seria mais ou menos uns 6000 caracteres...
será que dá para passar tudo isso por URL?
#12
Posted 21/11/2017, 05:14
Prevacid Buy One Get One Free Rebate Cialis Oder Levitra Cosa E Il Cialis generic viagra Keflex A Form Of Amoxicillin Sale Original Propecia El Viagra Tiene Vencimiento
#13
Posted 21/11/2017, 08:26
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)