Jump to content
cachopo

Duvida nao poder visitar pagina sem estar com login feito

Recommended Posts

cachopo

Boa tarde pessoal,

Eu tenho o seguinte codigo:

<?php session_start();
if(!isset($_SESSION['sns'])){
echo 'Pagina Reservada a utilizadores registados';
exit;
}
?>

Mas ele da me este erro :

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/unitedgr/public_html/projecto/painel/marcacao.php:9) in /home/unitedgr/public_html/projecto/painel/validação.php on line 2

Pagina Reservada a utilizadores registados

Share this post


Link to post
Share on other sites
XsTeAl

Eu para contornar esse problema meto isto no index.php

logo no inicio do ficheiro

ob_start();

mesmo no final do ficheiro

ob_end_flush();

Pode nao ser a melhor solucao, mas foi assim que aprendi!!

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

O problema é que isso devia de estar no topo da página, antes de qualquer coisa ser imprimida! No entanto, o que o @XsTeAl disse é uma solução, apesar de não ser a melhor.

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

Como te disse, o problema é que o session_start() tem de estar no topo da página, só isso !

Algo como:

<?php session_start(); ?>
<html>
<head>
...
...
...

Share this post


Link to post
Share on other sites
cachopo

Erro resolvido,

Mas agora aconteceu me outra coisa,

Se eu nao estiver com o login feito ele envia-me para a pagina Login, como eu quero, mas quando eu faço o login, envia me novamente para a pagina Login.

Que posso eu fazer??

<?php
if(!isset($_POST['sns'])){ //duvida
die(header("Location:/painel/login.php"));
exit;
}
?>

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

Que página é essa?

O que significa 'sns' ?

Nessa página estás a redireccionar o utilizador para a página de login...

Share this post


Link to post
Share on other sites
cachopo

Sns é o 1 campo do formulario.

Ps: Nao percebi a pergunta : Que página é essa?

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

Que ficheiro é esse... tipo quando é que o utilizador acede a ele !?

Share this post


Link to post
Share on other sites
cachopo

Boas,

Que ficheiro é esse... tipo quando é que o utilizador acede a ele !?

Boas, nao estou a perceber o que quer dizer com isso....

eu tenho uma pagina de marcacoes de consultas online, e gostava de a ocultar ( ou seja, so quem estiver logado é que pode aceder) ...

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

Visto que tens a variável $_POST, suponho que vás parar a essa página após o preenchimento de um formulário. Então o que eu estou a perguntar, é qual a página que te leva para ai e o que faz essa página.

Muito possivelmente, tu não sabes o que o teu código faz, como tal vou-te explicar e se calhar fica mais fácil de perceberes e corrigir.

<?php
/*
O ponto de exclamação ( ! ) é o operador lógico da negação.
Então o teu if, lê-se da seguinte forma:
- Se a chave "sns" do array $_POST não existir, então...
*/
if( ! isset( $_POST['sns'] ) ) {
die(header("Location:/painel/login.php"));
exit;
}
?>

Não fui muito claro, mas enfim... Espero ter ajudado :P

Share this post


Link to post
Share on other sites
cachopo

Erro resolvido,

Obrigado pela ajuda.

O que eu fiz foi isto:

Coloquei session_start() no index.php, que me tinha esquecido.  :wallbash:

E depois o codigo do verificarlogin ficou assim:

<?php session_start();

// iniciar uma sessão

if (!isset($_SESSION['sns'])) {

// não existe sessão iniciada
// neste caso, levamos o utilizador para a página de login
header('Location: login.php');
exit();
}
?>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.