Como faço para passar uma array pelo <input hidden> ?
Bom pessoal eu estou querendo passar valores de uma array que estão em uma página para outra através do input hidden.
comentários (0)
suspender
Lista de Respostas:
07/06/2010 5:46pm
(~14 anos atrás)
(~14 anos atrás)
Eu preferiria colocar em $_SESSION para segurança
Pois um usuário que entende de JavaScript facilmente vai conseguir modificar estes valores dentro de um campo hidden.
Já em $_SESSION é mais seguro...
Pois um usuário que entende de JavaScript facilmente vai conseguir modificar estes valores dentro de um campo hidden.
Já em $_SESSION é mais seguro...
11/05/2010 3:32pm
(~14 anos atrás)
(~14 anos atrás)
Existem algumas técnicas.
1 - Usar implode/explode
2 - Usar serialize/unserialize
3 - Usar um input com o nome usando colchetes para cada valor do input
ex.:
1 - Usar implode/explode
2 - Usar serialize/unserialize
3 - Usar um input com o nome usando colchetes para cada valor do input
ex.:
<?php $vetor= range('A','H'); ############################## # Implode/ Explode ?> <input type="hidden" name="dados" value="<?php echo implode('|',$vetor)?>" /> <?php // Recuperando $vetor = explode('|',$_REQUEST['dados']); # serialize/unserialize ?> <input type="hidden" name="dados" value="<?php echo serialize($vetor)?>" /> <?php // Recuperando $vetor = unserialize($_REQUEST['dados']); # diversos inputs foreach($vetor as $v) { echo '<input type="hidden" name="dados[]" value="'. $v .'" />'; } // Recuperando $vetor = $_REQUEST['dados'];
11/05/2010 3:47pm
(~14 anos atrás)
(~14 anos atrás)
Ai eu nao sei ql seria a melhor forma.Eu vou explicar + ou - oq eu qro fazer pra ver se vc consegui entender.Eu tenho pagina com um simulador de formas de pagamento,q dependo de como o aluno pagar a parcela do curso(dinheiro,cheque,etc) vai ter um desconto diferente.Essas parcelas são geradas atras de for e eu tava qrendo passar o valor dentro do for q esta como array para um hidden e mandar para outra pagina.Seria possivel fazer isso com umas dessas formas q vc me indicou?
12/05/2010 7:51pm
(~14 anos atrás)
(~14 anos atrás)
Sim, com qualquer uma que o Marcos te indicou.
Outra maneira eh passar via Session
//na primeira pagina
$_SESSION["dados"] = $seu_array;
//na outra pagina
$pega_array = $_SESSION["dados"];
Outra maneira eh passar via Session
//na primeira pagina
$_SESSION["dados"] = $seu_array;
//na outra pagina
$pega_array = $_SESSION["dados"];
13/05/2010 12:39pm
(~14 anos atrás)
(~14 anos atrás)
Eu vou tentar aki e ver se funciona.
Ve se esta certa do jeito q penso q
Na primeira pagina eu coloco
Exemplo:
$_SESSION["formaPagamento"] = $formaPagamento[$x]; <- array com o valor
Segunda pagina:
$formaPagamento[$x]= $_SESSION["formaPagamento"];
^^
|| Array q recebe o valor.
Ve se esta certa do jeito q penso q
Na primeira pagina eu coloco
Exemplo:
$_SESSION["formaPagamento"] = $formaPagamento[$x]; <- array com o valor
Segunda pagina:
$formaPagamento[$x]= $_SESSION["formaPagamento"];
^^
|| Array q recebe o valor.
13/05/2010 2:27pm
(~14 anos atrás)
(~14 anos atrás)
Por favor só envie respostas para a pergunta original por esse formulário.
Se precisar perguntar alguma coisa ao criador dessa FAQ, envie um comentário pelo link disponível no topo da página.
Se precisar perguntar alguma coisa ao criador dessa FAQ, envie um comentário pelo link disponível no topo da página.
13/05/2010 8:24pm
(~14 anos atrás)
(~14 anos atrás)
vc pega as forma de pagamento e joga nu array
ex:
$formaPagamento["avista"] = "0.99";
$formaPagamento["boleto"] = "1.0 + taxa abusiva";
$formaPagamento["figurinha"] = "1.00";
$_SESSION["formaPagamento"] = $formaPagamento;
//dai quando recebe vc tem
echo $_SESSION["formaPagamento"]["avista"];//Retorna 0.99
ex:
$formaPagamento["avista"] = "0.99";
$formaPagamento["boleto"] = "1.0 + taxa abusiva";
$formaPagamento["figurinha"] = "1.00";
$_SESSION["formaPagamento"] = $formaPagamento;
//dai quando recebe vc tem
echo $_SESSION["formaPagamento"]["avista"];//Retorna 0.99
18/05/2010 8:35pm
(~14 anos atrás)
(~14 anos atrás)
Se é extremamente necessário, eu uso com os colchetes:
Quanto as outras soluções, só um detalhe:
serialize/unserialize pode ser perigoso, já que gera caracteres binários que podem estragar o seu XHTML, por exemplo. Porém, é possível usá-la aplicando um filtro como o base64_encode/base64_decode, que só utiliza caracteres imprimíveis e que não prejudicam o XML.
<form method="post" action="..."> <input type="hidden" name="vetor[]" value="primeiro valor" /> <input type="hidden" name="vetor[]" value="segundo valor" /> <input type="hidden" name="vetor[]" value="terceiro valor" /> <input type="hidden" name="vetor[]" value="quarto valor" /> ... <input type="submit" value="Enviar" /> </form>
Quanto as outras soluções, só um detalhe:
serialize/unserialize pode ser perigoso, já que gera caracteres binários que podem estragar o seu XHTML, por exemplo. Porém, é possível usá-la aplicando um filtro como o base64_encode/base64_decode, que só utiliza caracteres imprimíveis e que não prejudicam o XML.
// De vetor para string serializada $serializado = base64_encode(serialize($vetor)); // De string serializada para vetor $vetor = unserialize(base64_decode($serializado));
30/08/2010 1:07pm
(~14 anos atrás)
(~14 anos atrás)
Estou com o Carlos Eduardo passa por session, muito mais seguro
09/11/2010 1:05pm
(~14 anos atrás)
(~14 anos atrás)
<?php echo "<input type='hidden' name='nome aki' value='".$array['xx']."' />"; ?>
ou
<input type="hidden" name="nome aki" value="<?php echo $array['xx'] ?>" />
Esse é o modo mais simples!