Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

erro ao usar uma session Generica

Pessoal boa noite gostaria te um help da galera mais experiente ai no php eu vi a aula e vi que se eu tivesse um sistema grande teria que usar muitas sessões então eu criei alguns metodos que são eles

na classe de sessões temos as mesmas que o guilherme havia criado mas eu passo o parametro do nome da sessão que eu desejo criar porque ai me poupa trabalho de ficar criando a sessão trazendo a sessão e destruindo a sessão tudo que eu tenho que fazer é chamar o metodo e o nome da sessão

function insereSession($nome,$mensagem,$email=null) {

$_SESSION['$nome'] = $mensagem.' '.$email;

header("Location: index.php"); die(); }

function verificaUsuario($nome) {

return isset($_SESSION["$nome"]);

} function mostraSession($nome) { if(isset($_SESSION['$nome'])&& $_SESSION['$nome']== true){ return $_SESSION['$nome']; } }

function validaUsuario($nome){

if(!verificaUsuario($nome)){

header("Location:index.php"); die(); } }

function deslogar(){

session_destroy();

} function removeMsg($nome){

unset($_SESSION['$nome']);

}

// na parte que o usuario digita o usuario e senha e cria a sessão ficou assim

<?php include ('conecta.php'); include ('banco-usuario.php'); include ('logica.php');

$email = $_POST['email'];

$senha = $_POST['senha'];

$rs = buscaUsuario($result,$email,$senha);

if ($rs == null){

insereSession('erro','login e senha incorretos');

}

else { insereSession('sucesso','logado com sucesso como ',$email);

}

?>

meu problema está na hora de mostrar o resultado

porque o formulario de login não some e eu não sei o motivo

pagina de index logo a baixo

<?php include ("cabecalho.php"); include ('logica.php'); $nome = "mauricio"; if(verificaUsuario('sucesso')) { // fecha a instrução php para colocar HTML ?>

<?php mostraSession('sucesso');?>

<?php // se essa sessão não existir no sistema }else{ // abro comando else para carregar o formulario de Login ?>

<?= mostraSession('erro');?>

<?php // abro o PHP para colocar um unset na sessão porque não quero mais ela removeMsg('erro'); ?>

Bem Vindo a loja do <?= $nome; ?>

Email Password

<?php // fecho o else } include ("rodape.php");

?>

alguem sabe me dizer porque mesmo só criando a SESSÃO sucesso o sistema ainda mostra o formulário?

desculpem a indentação ai e os nomes estranhos

1 resposta
solução!

galera ja, era '' em vez de "" por algum motivo eu troquei e funcionou. se alguem tiver fazendo o mesmo jeito e tiver errado. e revi as aulas do Guilherme e entendi melhor.