Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Cookie - Dúvidas


marceloths

Pergunta

Olá pessoal,

estou com uma dúvida terrível que está me dando uma dor-de-cabeça:

Quero um sistema bem simples que é mostrar 10 últimos links acessados por um visitante comum.

A minha ideía seria usar cookie para armazenar os cliques no computador do visitante, mas acho que não dá certo nesse caso.

Tudo indica que o cookie não trabalha como array. Eu estava pensando utilizar um 'for' para recuperar o valor de um cookie, mas o problema é que ele armazena e recupera sempre o clique mais recente, o que estava antes é apagado.

É possível desenvolver um sistema desse através de cookie? Se sim, como eu poderia fazer, só queria um pequeno exemplo disso.

Atenciosamente,

Marcelo.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Você pode utilizar as funções join e split para transformar o array em string e recuperar esse valor

Exemplo para gravar:

$a[0]="Bom dia";
     $a[1]="Boa tarde";
     $a[2]="Boa noite";
     setcookie("teste",join($a,"-"));
Exemplo de leitura:
$b=split("-",$_COOKIE["teste"]);
   foreach($b as $v){
            echo "$v<br>";
     }

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui resolver meu graça a você, veja como ficou o código

Gravação

$codigo = addslashes(trim($_GET['cod']));
               if(is_numeric($codigo)){
                    $sql = 'Select * from canal Where codigo=' . $codigo;
                    $sqlcanal = mysql_query($sql);
                    $canal = mysql_fetch_assoc($sqlcanal);
                    $url = $canal['url'];

                    $a=split("-",$_COOKIE['canal']);
                    $u=split("-",$_COOKIE['url']);
                    $qtdposicao = sizeof($a);
                    $qtdposicao = $qtdposicao++;
                    $a[$qtdposicao] = $canal['nome'];
                    $u[$qtdposicao] = $canal['url'];
                    setcookie('canal', join($a,"-"),time()+604800);
                    setcookie('url', join($u,"-"),time()+604800);
                    header("Location: $url");
                    break;
Leitura
<?
                          $b=array_reverse(split("-",$_COOKIE['canal']));
                          $u=array_reverse(split("-",$_COOKIE['url']));
                          for($i=0;$i<10;$i++){
                               if(!$b[$i]==''){
                          ?>
                                <tr> 
                                  <td bgcolor="#eef3f2"><a href="<? echo $u[$i]; ?>" target="_blank"><? echo $b[$i]; ?></a> 
                                  </td>
                                </tr>
                                <?
                                }
                          }
                          ?>

Funcionou perfeito. 


Atenciosamente,
Marcelo

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...