fcottf 0 Denunciar post Postado Janeiro 25, 2008 Olá Pessoal. Estou tentando fazer um esqueminha simples, onde se o user tentar acessar uma página interna, mas não estiver logado, ele vai pra página de login, e quando logar, cai na página que ele tentou acessar quando não estava logado. Teoricamente eu achei que estava tudo certo, mas não esta funcionando. Alguém sober de um código melhor, ou qual é o erro deste ? pagina interna <?php session_start(); $basepage = basename($_SERVER['PHP_SELF']); if (($basepage != "login.php") && ($basepage != "index.php")){ $_SESSION["lastpage"] = $basepage; ?> login.php <?php session_start(); //funções q verificam se é valido e retorna true para $login se for... if ($login){ //funções para habilitar cookies para logar o user print "<script>window.location=('" . $_SESSION['lastpage'] . "')</script>"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 25, 2008 O que está acontecendo? Dá erro? Compartilhar este post Link para o post Compartilhar em outros sites
fcottf 0 Denunciar post Postado Janeiro 25, 2008 Não.... quando eu coloco "<script>window.location=('index.php')</script>"; por exemplo... ele vai redirecionar certinho pra index.php agora se o $_SESSION['lastpage'] = "index.php"; "<script>window.location=('" . $_SESSION['lastpage'] . "')</script>"; ele não redireciona.. ele carrega a pagina login.php denovo! quando abro a pagina do login... pelos echos q fiz... a session ta com a variavel guardada... mas quando dou o enter do form... a session esta empty... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 25, 2008 agora se o $_SESSION['lastpage'] = "index.php";Mas, segundo esta parte do script, $_SESSION['lastpage[] nunca será index.php: if (($basepage != "login.php") && ($basepage != "index.php")){:unsure: Tente dar um alert() para ver qual é o conteúdo da variável Compartilhar este post Link para o post Compartilhar em outros sites
fcottf 0 Denunciar post Postado Janeiro 26, 2008 Sim sim... lapso meu na explicação.... ignore o index... eh para qualquer outra página.... q não seja o index e/ou login Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 26, 2008 tentou usar o alert()? Qual é o valor mostrado? uma string vazia? Compartilhar este post Link para o post Compartilhar em outros sites
fcottf 0 Denunciar post Postado Janeiro 26, 2008 sim.... retorna vazio login.php <?php session_start(); //funções q verificam se é valido e retorna true para $login se for... if ($login){ //funções para habilitar cookies para logar o user echo "<script LANGUAGE=\"JavaScript\">{ alert ('" . $_SESSION['lastpage'] . "')}</script>"; print "<script>window.location=('" . $_SESSION['lastpage'] . "')</script>"; } ?> fiz um teste com cookie, também não funcionou =S Compartilhar este post Link para o post Compartilhar em outros sites
leonardonobre 0 Denunciar post Postado Janeiro 26, 2008 Olá fcootf e beraldo, tente mudar o operador &&(E) para ||(OU) no código ou somente se for diferente de login.php <?php session_start(); $basepage = basename($_SERVER['PHP_SELF']); if (($basepage != "login.php") || ($basepage != "index.php")) { $_SESSION["lastpage"] = $basepage; } ?> Creio que seja isso... se for diferente de login, ou se for diferente de index.php ele grava a session... abraços, léo Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 27, 2008 O problema, léo, é que nem a index.php nem a login.php podem estar nessa variável de sessão. Então tem que usar AND, mesmo. fcottf, você tem certeza de que acessou uma página diferente da index.php e da login.php antes de efetuar login? Compartilhar este post Link para o post Compartilhar em outros sites
leonardonobre 0 Denunciar post Postado Janeiro 27, 2008 humm... tah phoda... Compartilhar este post Link para o post Compartilhar em outros sites
leonardonobre 0 Denunciar post Postado Janeiro 27, 2008 Olá Beraldo e fcottf, tcottf fiz um teste e queria saber de onde vem a variavel $login. É de uma consulta do banco?? esta parte aqui não esta indo... if ($login){ //funções para habilitar cookies para logar o user print "<script>window.location=('" . $_SESSION['lastpage'] . "')</script>"; } A sessão não esta vazia aqui... Abraços, léo Compartilhar este post Link para o post Compartilhar em outros sites
fcottf 0 Denunciar post Postado Janeiro 28, 2008 Ola leonardo e beraldo.. eu tentei com cookie fiz a mesma coisa e deu certo! =S ... então acho q pode dar por encerrado o tópico... invez de usar as sessions, tentando cookie depois de uns probleminhas ou outros rolou! =D Compartilhar este post Link para o post Compartilhar em outros sites
alexandre genka 0 Denunciar post Postado Setembro 16, 2009 nao sei se vai ajudar alguem dps de tanto tempo... eu fiz do mesmo jeito do fcottf e nao estava funcionando mas com o header('Location:'.$ultima); funciona Compartilhar este post Link para o post Compartilhar em outros sites