Estou precisando de uma ajuda.
Eu tenho um sistema de login que só loga na segunda tentativa.
Na primeira tentativa ele da o alert de login efetuado com sucesso, mas não loga.
Então vou fazer o login de novo e ai sim ele loga.
Alguém sabe o que pode ser?

Session Só Grava Na Segunda Tentativ
Started By RODRIGODEVELOP, 20/07/2012, 10:09
4 replies to this topic
#1
Posted 20/07/2012, 10:09
#2
Posted 20/07/2012, 10:24
Poste o código aqui!
Meu post lhe ajudou? Clicar no é uma das formas de agradecer.
#3
Posted 20/07/2012, 10:29
//A função do login e logout
// E o código que chama a função
public function logLeitor($u,$p){ $r->err = array(); $r->ok = ''; $r->u = $u; $r->p = $p; if(!$u)$r->err[] = 'Digite o usuário.'; if(!$p)$r->err[] = 'Digite a senha.'; $p5 = md5($p); if(!count($r->err)){ if($rs=$this->b->query("select * from leitor where user='$u' limit 1")->fetchObject()){ if($rs->stt+0){ if($p5==$rs->pass){ $this->idu = $_SESSION['idu'] = $rs->id+0; $this->user = $_SESSION['user'] = $u; $this->tipo = $_SESSION['tipo'] = $rs->tipo+0; $this->nome = $_SESSION['nome'] = $rs->nome; $this->email = $_SESSION['email'] = $rs->email; echo '<script type="text/javascript">alert("Login efetuado com sucesso.");</script>'; }else $r->err[] = 'Senha incorreta.'; }else $r->err[] = 'Usuário desativado.'; }else $r->err[] = 'Usuário inexistente.'; }//else $this->logout(); if(count($r->err))$this->logout(); return $r; } public function logout(){ $this->idu = $_SESSION['idu'] = 0; $this->user = $_SESSION['user'] = ''; $this->nome = $_SESSION['nome'] = ''; $this->email = $_SESSION['email'] = ''; $this->tipo = $_SESSION['tipo'] = 0; $this->ide = $_SESSION['ide'] = 0; }
// E o código que chama a função
<? if($_POST['logLeitor']){ $user = strf($_POST['user'],1); $pass = strf($_POST['pass'],1); $log = $s->logLeitor($user,$pass); } //$s->layCls = 'news'; ?> <strong>Login</strong> <form name="flogLeitor" method="post" style="height:180px;"> <? if(count($log->err)){ ?> <div class="row err"> <div class="dir"><?=implode('<br/>',$log->err)?></div> </div> <? } ?> <div class="deixe"><label>*Usuário:<br/><input type="text" name="user" class="txt w350" value="<?=$log->u?>"/></label></div> <div class="deixe"><label>*Senha:<br/><input type="password" name="pass" class="txt w350" maxlength="50"/></label></div> <div class="deixe right" style="margin-top: -35px"> <input type="submit" name="logLeitor" class="botao" value="Login"/> <a href="javascript:;" onclick="cmt.cmtA(false);" class="botao">Fechar</a> </div> <div class="deixe"> <p><h5>Obs.: É necessário realizar o login para comentar a notícia.<br/> O login está com um problema e só está logando na segunda tentativa.<br/> Em breve estaremos solucionando este incomodo!<br/> Se ainda não realizou o cadastro clique em <span><a href="javascript:;" onclick="cmt.cmtCadl(true);">Cadastre-se</a></span>.</h5></p> <br /> </div> </form>
#4
Posted 25/07/2012, 15:49
Bom... so para constar no manual : http://www.php.net/m...ook.session.php
Antes de tudo abrir sessao : session_start()
// tudo de sessao pode ser gravado entre a abertura e fechamento
Fechamento : session_write_close();
Somente apos o fechamento da sessao que deve ter saida de texto para tela
Dica: Para acessar tudo da sessao apos login (fecha sessao e redireciona o usuario para tela de bem vindo)
Abraços
Antes de tudo abrir sessao : session_start()
// tudo de sessao pode ser gravado entre a abertura e fechamento
Fechamento : session_write_close();
Somente apos o fechamento da sessao que deve ter saida de texto para tela
Dica: Para acessar tudo da sessao apos login (fecha sessao e redireciona o usuario para tela de bem vindo)
Abraços
Procurando freelancer
***********************************************
Bachelor of Technology in Technology of Information, with great knowledge in Windows operating systems and Unix-Like (BSD, Ubuntu and Slackware), languages (PHP, JavaScript and MySQL), semantic (DHTML, Tableless, Ajax, MVC, OO) and analysis (manages projects based on PMI).
Developer in PHP, JAVA, Python, Objective-c MySQL, DHTML, CSS, JAVASCRIPT, JQUERY, JSON, SMARTY, MDB2, DOCTRINE, CAKEPHP. Linux desktop for work and MacOS. E-commerces, CRM and bussiness strategys
Love-me and be FREE use UniCes-Like .
***********************************************
Bachelor of Technology in Technology of Information, with great knowledge in Windows operating systems and Unix-Like (BSD, Ubuntu and Slackware), languages (PHP, JavaScript and MySQL), semantic (DHTML, Tableless, Ajax, MVC, OO) and analysis (manages projects based on PMI).
Developer in PHP, JAVA, Python, Objective-c MySQL, DHTML, CSS, JAVASCRIPT, JQUERY, JSON, SMARTY, MDB2, DOCTRINE, CAKEPHP. Linux desktop for work and MacOS. E-commerces, CRM and bussiness strategys
Love-me and be FREE use UniCes-Like .
#5
Posted 27/07/2012, 15:53
Obrigado, consegui acertar aqui.
As páginas são incluídas em uma estrutura, que já escreve o layout.
Tem outra pasta que inclui a página antes de começar escrever o layout,
então coloquei o código lá e funcionou.
Como é a estrutura (aqui está em um modo simplificado, tem todas as verificações, .htaccess e tal...):
index.php
inc/l/default.php
As páginas são incluídas em uma estrutura, que já escreve o layout.
Tem outra pasta que inclui a página antes de começar escrever o layout,
então coloquei o código lá e funcionou.
Como é a estrutura (aqui está em um modo simplificado, tem todas as verificações, .htaccess e tal...):
index.php
<? $layout = 'default'; $pg = $_GET['pg']; include "inc/t/$pg.php"; include "inc/l/$layout.php"; ?>
inc/l/default.php
<html> .... <? include "inc/p/$pg.php"; ?> ... </html>
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)