Ir para conteúdo

POWERED BY:

Arquivado

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

oversight

[Resolvido] Exibindo array recebido por get

Recommended Posts

Gente,

 

Não consigo exibir a mensagem recebida via Get.

 

Por favor ajudem!

 

$dados= array();
$dados= $_GET["mensagem"];

//Escreve a(s) mensagens
if ( $dados)
{
  for ( $i=0; $i< sizeof($dados); $i++ )
  {
echo "<div id='x' name='x'>" . $dados[$i] . "</div><br />";
  }
}

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro, você não está verificando se a variável vinda por GET existe ou não. Leitura: isset()

 

Segundo: count(), que a função "correta" à qual sizeof() se destina, só vai retornar algo operável por um for-loop se essa variável for um Array ou um objeto que implemente Countable

 

Terceiro: Pelo fato exposto acima, pressupondo que o valor GET seja um array, você não pode fazer via GET, caso contrário só terá a palavra Array armazenada nessa variável.

 

Uma solução seria serializar um array e só então passar via URL, mas há a limitação do Modo GET de 255 caracteres.

 

Quarto: Isso:

 

$dados= array();
$dados= $_GET["mensagem"];

Não vai corrigir, pois à segunda declaração de $dados sobrescreverá a primeira.

 

Isso:

 

$dados = array();

$dados[] = $_GET['mensagem']

Ou:

 

$dados = (array) $_GET['mensagem'];

Funcinaria a contento.

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.