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)










