Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal minha dúvida é a seguinteExiste alguma forma de criar uma sessão global que todos os usuário possam acessar?Por exemplo, quero ler do banco o nome do sistema e carregar em memória. Uma vez carregado em memória quero que todos os visitantes do meu site leiam a sessão que está em memória sem precisar ir no banco e ler a informação novamente....Consegui fazer isso apenas com um arquivo texto, ai quando o primeiro usuário entra no site ele gera o arquivo texto e os demais apenas leêm esse arquivo, mas isso não é uma boa solução, por isso precisaria de uma sessão global que todos os usuários pudessem ver....Quem puder me ajudar...Valeu pessoal!!!
faz o select no banco, na pagina inicial.......lá você seta a $_SESSION com o nome que você quiser, obviamente dando um session_start() antes de tudo.e em todas as paginas você coloca um session_start() pra pegar a session que você criou.....é isso q você quer?
Pelo que eu entedi ele quer que quando o usuario X entre no site inicie uma session e quando o usuario Y entre no site ele tenha acesso a essa mesma session, creio que seja impossivel.....
se o valor da session for o mesmo sempre, ao gerar a session, qualquer usuario pode ver......
se o valor da session for o mesmo sempre, ao gerar a session, qualquer usuario pode ver......
Amigo, poderias me dar um exemplo de como funcionaria?
se realmente entendi sua duvida, é bem simples.
suponha que essa seja sua pagina INICIAL: index.php
nela, entao, você cria sua session com o valor vindo do banco de dados, como num sistema de login:
<?php session_start();$s = "select * from....";$q = mysql_query($s);$r = mysql_fetch_array($q);$_SESSION['valor'] = $r['campo'];?>
aí, como consequencia, qualquer usuario que entrar na sua pagina, vai criar a session. Isto, é claro, se o valor for o mesmo, pois caso nao seja, o session nao ficará visivel para um usuario que entrar depois.....
é isso q você quer?
Att,
Andrey Moretti
Acho que a $_SESSION fica armazenado na maquina do cliente, portanto criará uma nova seção para cada novo visitante
Bom... não é isso que eu quero... vamos ver se consigo explicar melhor
vou dar um exemplo
crio o index.php com o seguinte código
<?php session_start(); if($_SESSION['valor']) { echo "A sessão já existe!!!"; } else { $_SESSION['valor'] = "1"; echo "A sessão não existia mas foi criada!!!"; }?>
agora abro dois navegadores, o IE e o FF
Quando eu abrir o primeiro (por exemplo no IE) vai aparecer a mensagem "A sessão não existia mas foi criada!!!"
Quando acessar novamente a página, desta vez pelo FF quero que apareça a mensagem "A sessão já existe!!!", pois ela já foi criada pelo outro usuário.
Utilizando este código ai em cima a primeira vez em cada navegador ele vai dar a mensagem "A sessão não existia mas foi criada!!!", pois sessão é por navegador.
Queria criar uma sessão que persistisse no servidor, que uma vez criada por um usuário ficasse visível por todos os demais.
Vlw
>
Bom... não é isso que eu quero... vamos ver se consigo explicar melhorvou dar um exemplocrio o index.php com o seguinte código
<?php session_start(); if($_SESSION['valor']) { echo "A sessão já existe!!!"; } else { $_SESSION['valor'] = "1"; echo "A sessão não existia mas foi criada!!!"; }?>agora abro dois navegadores, o IE e o FFQuando eu abrir o primeiro (por exemplo no IE) vai aparecer a mensagem "A sessão não existia mas foi criada!!!"Quando acessar novamente a página, desta vez pelo FF quero que apareça a mensagem "A sessão já existe!!!", pois ela já foi criada pelo outro usuário.Utilizando este código ai em cima a primeira vez em cada navegador ele vai dar a mensagem "A sessão não existia mas foi criada!!!", pois sessão é por navegador.Queria criar uma sessão que persistisse no servidor, que uma vez criada por um usuário ficasse visível por todos os demais.Vlw
Impossivel, como você mesmo constatou no seu teste, a sessão é local e fica armazenada no navegador.....
conforme citado acima, creio q nao seja possivel efetuar tal operação, uma vez que a session fica armazenada no navegador e os usuarios nao estao usando o mesmo.quando você tentou fazer com txt, pq nao deu certo?tenta gravar em txt e armazenar na raiz do seu site.....assim deve funcionar...
beleza andreymor, é tbm estou achando que não há como...
O txt funcionou legal, mas usar um txt é meio que uma gambiarra...
No .net posso criar sessões que todos os usuários tem acesso, pensei que quem sabe o PHP tbm fizesse isso...
Valeu!!!
faz o select no banco, na pagina inicial.......lá você seta a $_SESSION com o nome que você quiser, obviamente dando um session_start() antes de tudo.e em todas as paginas você coloca um session_start() pra pegar a session que você criou.....é isso q você quer?