Jump to content


Photo

Passagem De Um Array Por Parâmetro Em Url.


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

#1 Marcelolinhares.com

Marcelolinhares.com

    Turista

  • Usuários
  • 29 posts
  • Sexo:Não informado
  • Localidade:Belo Horizonte - MG

Posted 18/02/2004, 09:37

Alguém sabe se é possível passar um array como parâmetro por uma URL...
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

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 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 18/02/2004, 09:56

Hmm, tive um probleminha com algo parecido ha um tempo, veja aqui como solucionei:

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 :P, 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 (y)
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#3 ffmm

ffmm

    Veterano

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

Posted 18/02/2004, 16:11

Acho que a função http_build_query vai ser muito útil.
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 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 18/02/2004, 21:16

Olá. Você pode, também, usar o implode para transformar o vetor em uma string, e depois o explode para que ele volte a ser um vetor. Ex:

<?
$vogais = array('a', 'e', 'i', 'o', 'u');
?><a href="pagina.php?vogais=<?=urlencode(implode(',', $vogais))?>">Link</a>

<?
$vogais = explode(',', $_GET['vogais']);
?>


#5 Marcelolinhares.com

Marcelolinhares.com

    Turista

  • Usuários
  • 29 posts
  • Sexo:Não informado
  • Localidade:Belo Horizonte - MG

Posted 19/02/2004, 10:52

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!
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!

#6 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 19/02/2004, 11:28

Limite para toda a url acredito que não exista, somente para arquivos, que devem ter nome inferior a 256 caracteres
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#7 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 19/02/2004, 14:37

Olá. O limite de uma URL é de 2KB (2048 bytes).

#8 CrAsh_OveRride

CrAsh_OveRride

    [Morbidamente curioso]

  • Usuários
  • 790 posts
  • Sexo:Masculino
  • Localidade:Viçosa

Posted 19/02/2004, 16:47

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!

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...

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 Marcelolinhares.com

Marcelolinhares.com

    Turista

  • Usuários
  • 29 posts
  • Sexo:Não informado
  • Localidade:Belo Horizonte - MG

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

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 Cristiano Galdino

Cristiano Galdino

    Dark Defender

  • Administradores
  • 3738 posts
  • Sexo:Masculino
  • Localidade:Brasília, DF

Posted 20/02/2004, 01:00

Eu estou fazendo um site e tive o mesmo problema que o Marcelo Linhares e do CrAsh_OveRride.

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:

<?
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>";
}
?>

Não testei na minha máquina, mas se der erro me avisa.


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.
Cristiano Galdino
- http://cristiano.galdino.net/

“Since 2003”


#11 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 20/02/2004, 10:24

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?

Olá. 1 caracter é 1 byte, logo o limite máximo é de 2048 caracteres.

#12 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 21/11/2017, 05:14

Clomid By Avents Buy Lasix Water Pills Online Suhagra 100 With Free Shipping buy viagra Pillole Viagra Foto Ordering Generic Viagra In Canada What Stores Sell Propecia
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 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 21/11/2017, 08:26

Buy Synthroid Without A Script Generico Levitra 10 Mg viagra prescription Can I Buy Synthroid Online Amoxicillin Dosage 32 Bs Propecia Online Review




1 user(s) are reading this topic

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

IPB Skin By Virteq