Jump to content


Photo

Duvida Sobre Cookie, E Página De Entrada.


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

#1 tempest

tempest

    12 Horas

  • Usuários
  • 131 posts
  • Sexo:Masculino
  • Localidade:Caçador, SC
  • Interesses:Php, Mysql e interatividade!

Posted 11/05/2008, 14:04

Olá pessoal, minha duvida é a seguinte:

eu pretendo colocar uma pagina de entrada no meu site, tipo "Clique para entrar";

só que eu queria que esta página aparecesse toda vez que qualquer página do meu site fosse acessada, explico..

se fulano acessa a página www.meu site.com/contato/ teria que aparecer esta pagina de confirmação antes também;

assim como qualquer outra página. :rolleyes:


Minha segunda duvida: :snack:
Esta página cria um cookie..

eu posso verificar se este cookie existe na mesma pagina?

Caso ele já exista, então eu redireciono para a pagina principal, assim como se tivesse clicado em entrar!

acho que expliquei bem, qualquer coisa gritem! :click:
Posted Image
Css - Flash - Php?...
<? echo "Compartilhar é uma boa forma de aprender"; ?>

#2 lwirkk

lwirkk

    Veterano

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

Posted 11/05/2008, 16:01

Minha segunda duvida:
Esta página cria um cookie..

eu posso verificar se este cookie existe na mesma pagina?


Sim. =)
Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#3 tempest

tempest

    12 Horas

  • Usuários
  • 131 posts
  • Sexo:Masculino
  • Localidade:Caçador, SC
  • Interesses:Php, Mysql e interatividade!

Posted 11/05/2008, 16:52

Opa, vlw lwirkk;


e ai, alguem sabe como faço a pagina de confirmação para entrar?

sendo que eu quero que se aplica a todas as paginas do site,

vou dar um exemplo
me desculpem, é um site adulto ,nao achei outro com o mesmo jeito que eu quero

http://megarotic.com/
la tem uma pagina de confirmação, imagino que deva ser com .htaccess ...?

eu pesquisei e não encontrei muita coisa, se alguem puder ajudar;
Abraço;
Posted Image
Css - Flash - Php?...
<? echo "Compartilhar é uma boa forma de aprender"; ?>

#4 lwirkk

lwirkk

    Veterano

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

Posted 11/05/2008, 18:16

Você com um INDEX.PHP no caso pode fazer o include das outras seções do site.
E no início do INDEX você faz uma verificação se existe o COOKIE, caso não exista ele cria.

Exemplo mais básico possível:
if(isset($_COOKIE["nome_qualquer"])){
include("pagina.php");
}
elseif($_POST("form") and $_POST["form"]=="aceito")){
setcookie("nome_qualquer",time()+3600);
}
else{
include("pagina_termos.php");
}

Primeiro IF, ele verificará se o cookie existe, coloquei "nome_qualquer" como exemplo.
No ELSEIF, ele verificará se foi postado algo por um form, e se tem o campo "form", se SIM, ele verifica se foi "aceito" o form, isso varia depende de cada opção que tiver. Se tudo OK, ele cria o cookie, no exemplo, ele cria o cookie "time()+3600" que é, "horário atual+1 hora", fazendo ele expirar 1 hora depois de criado. (formato ali tem que ser em segundos, por isso de "3600".
No ELSE, se não tiver o COOKIE antes, e não for aceito ou postado alguma coisa (tais como aceitar os termos), ele irá exibir a página de termos.

Edição feita por: lwirkk, 11/05/2008, 18:17.

Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#5 tempest

tempest

    12 Horas

  • Usuários
  • 131 posts
  • Sexo:Masculino
  • Localidade:Caçador, SC
  • Interesses:Php, Mysql e interatividade!

Posted 11/05/2008, 20:15

:aplauder:

Era isso sim, vlw mais uma vez !!
eu tinha feito assim na pagina:

<?php
if(isset($_COOKIE['bolinho'])){
  header('Location: http://localhost/site/');
}else{ 
setcookie('bolinho', time()+360);
}
?>

funciona legal, mas no caso eu teria que adicionar em todas as paginas ... :ponder:
veja nesse exemplo:

se eu entrar no site por esta url:

http://www.site.com/categoria/2

ele pede a confirmação, e manda o usuario para a pagina na qual ele entrou no caso categoria/2 ;

será que é dificil fazer ?:unsure:
Posted Image
Css - Flash - Php?...
<? echo "Compartilhar é uma boa forma de aprender"; ?>

#6 lwirkk

lwirkk

    Veterano

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

Posted 11/05/2008, 21:02

Não é difícil.
Você poderia usar QUERY-STRING (link com simples tutorial)

E poderia fazer um único arquivo INDEX.PHP no caso e ele incluir toda as outras páginas requisitadas posteriormente.

E depois no form* poderia adicionar um INPUT invisível para pegar o valor da QUERY e jogar para a próxima página:
<input type="hidden" name="referer" value="<?=$_SERVER['QUERY-STRING'];?>" />
E na próxima página que verifica se o visitante aceitou, você pega esse valor assim:
$_POST['referer'];

Com base no meu exemplo isso ficaria mais ou menos assim:

if(isset($_COOKIE["nome_qualquer"])){
include("pagina.php");
}
elseif($_POST("form") and $_POST["form"]=="aceito")){
setcookie("nome_qualquer",time()+3600);
header("location:http://www.site.com.com/$_POST['referer']");
}
else{
include("pagina_termos.php");
}

Depois de criar o COOKIE, ele redireciona para a página requisitada antes de exibir os termos. =)

* Entre aspas, por que será um form mas com um botão ou dois no caso somente para aceitar ou não.

-------------------

E páginas no estilo:
www.site.com/categoria/arquivo
geralmente usam URL's amigáveis. (link 1) (link 2)

Edição feita por: lwirkk, 11/05/2008, 21:09.

Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#7 tempest

tempest

    12 Horas

  • Usuários
  • 131 posts
  • Sexo:Masculino
  • Localidade:Caçador, SC
  • Interesses:Php, Mysql e interatividade!

Posted 12/05/2008, 01:18

Fiz umas adaptações aqui e funcionou beleza :aplauder:


brigadão velho (ok2)
Posted Image
Css - Flash - Php?...
<? echo "Compartilhar é uma boa forma de aprender"; ?>

#8 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 12/05/2008, 06:37

Ao trabalhar com cookies em php, convém definir em que diretório o cookie vai funcionar também. Ex:

setcookie("Teste", "valor x", time()+3600,"/");

Isso evita umas pequenas dores de cabeça (que eu já tive).

E só pra constar: para deletar use exatamente os mesmos parâmetros que foram usados na criação do cookie, apenas com a data no passado!

No caso do meu exemplo acima, para deletar seria assim:

setcookie("Teste", "valor x", time()-3600,"/");

Isso também é para evitar dores de cabeça (e que eu tb já tive) hehehe
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.




1 user(s) are reading this topic

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

IPB Skin By Virteq