Fórum Criar sessão de usuario logado em PHP #590591
15/01/2018
0
Olá pessoal, blz!?
Minha dúvida é em relação a como criar uma sessão para usuário logado dentro deste arquivo Sessão:
Grato desde já[]
Essa dúvida foi gerada a partir de um comentário na aula Trabalhando com sessões - Primeira Aplicação PHP utilizando MVC - Vídeo 13
Minha dúvida é em relação a como criar uma sessão para usuário logado dentro deste arquivo Sessão:
class LoginController extends Controller
{
public function login()
{
$this->render(''/login/index'');
}
public function entrar()
{
$this->render(''/login/entrar'');
$usuarioDAO = new UsuarioDAO();
$validaLogin = $usuarioDAO->verificaLogin($_POST[''email''], $_POST[''senha'']);
if($validaLogin == 0)
{
echo "Dados não confere";
}
else {
//$this->redirect(''/usuario/sucesso'');
//var_dump($_SESSION["auth"]);
session_start();
$_SESSION["auth"] = [
''id_usuario'' => $validaLogin["id"],
''nome'' => $validaLogin["nome"],
''email'' => $validaLogin["email"]
];
$dados = $_SESSION["auth"];
$Usuario = new Usuario();
$Usuario->setNome($_POST[''nome'']);
Sessao::startSessao($_POST[''dados'']);
var_dump(Sessao::startSessao($_POST));
echo "LOGIN FEITO";
// echo $usuarioDAO->retornDados($_POST['''']);
}
}
public function cadastro()
{
$this->render(''/login/cadastro'');
//Sessao::limpaFormulario();
Sessao::limpaMensagem();
}
public function salvar()
{
$Usuario = new Usuario();
$Usuario->setNome($_POST[''nome'']);
$Usuario->setEmail($_POST[''email'']);
$Usuario->setSenha(md5($_POST[''senha'']));
Sessao::gravaFormulario($_POST);
$usuarioDAO = new UsuarioDAO();
if($usuarioDAO->verificaEmail($_POST[''email''])){
Sessao::gravaMensagem("Email existente");
$this->redirect(''/usuario/cadastro'');
}
if($usuarioDAO->salvar($Usuario)){
$this->redirect(''/usuario/sucesso'');
}else{
Sessao::gravaMensagem("Erro ao gravar");
}
}
public function sucesso()
{
if(Sessao::retornaValorFormulario(''nome'')) {
$this->render(''/login/sucesso'');
// Sessao::limpaFormulario();
Sessao::limpaMensagem();
}else{
$this->redirect(''/'');
}
}
public function sair()
{
Sessao::limpaSessao();
$this->redirect(''/login/sucesso'');
}
public function checkBox() {
$Usuario = new Usuario();
$Usuario->setNome($_POST[''nome'']);
$Usuario->setEmail($_POST[''email'']);
$Usuario->setSenha(md5($_POST[''senha'']));
Sessao::gravaFormulario($_POST);
if(isset($_POST["pass_remember"])){
$senha=$_POST["senha"];
$tempo_expiracao= 3600; //uma hora
setcookie("pass_remember", $senha, $tempo_expiracao);
}
}
public function index()
{
$this->render(''/login/index'');
}
} Grato desde já[]
Essa dúvida foi gerada a partir de um comentário na aula Trabalhando com sessões - Primeira Aplicação PHP utilizando MVC - Vídeo 13
José Silva
Curtir tópico
+ 0
Responder
Post mais votado
15/01/2018
Dê um nome pra essa sessão com
toda a vez que voce for testar a sessao em arquivos separados, chame o nome da sessao, dê start nela e teste os valores
Lembrando que tem que setar essa variavel de sessão. Use dessa forma no if que eu mostrar e vê se funciona:
session_name('sessao');toda a vez que voce for testar a sessao em arquivos separados, chame o nome da sessao, dê start nela e teste os valores
session_name('sessao');
session_start();
if($_SESSION['logado']==true)
{
echo "Verdade";
}Lembrando que tem que setar essa variavel de sessão. Use dessa forma no if que eu mostrar e vê se funciona:
if($validaLogin == 0)
{
echo "Dados não confere";
}
else {
//$this->redirect(''/usuario/sucesso'');
//var_dump($_SESSION["auth"]);
session_name('sessao_teste');
session_start();
$_SESSION["auth"] = [
''id_usuario'' => $validaLogin["id"],
''nome'' => $validaLogin["nome"],
''email'' => $validaLogin["email"]
];
$dados = $_SESSION["auth"];
$Usuario = new Usuario();
$Usuario->setNome($_POST[''nome'']);
Sessao::startSessao($_POST[''dados'']);
var_dump(Sessao::startSessao($_POST));
echo "LOGIN FEITO";
// echo $usuarioDAO->retornDados($_POST['''']);
}Alex William
Responder
Gostei + 2
Mais Posts
27/01/2018
José Silva
Olá Alekym, muito obrigado pela ajuda. Eu acabei conseguindo com um amigo, tava meio perdido mas já me encontrei em relação a isso. Só sinto que os usuários ficam sem suporte nesse site. Eles redirecionam para o fórum e não respondem nos conteúdos a sua dúvida.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)