Depois de informa seu loggin e sua senha ele irá para seu action que é este.
<?php
session_start();
$login = $_POST['login'];
$senha2 = $_POST['senha'];
include("mysqlconfig.inc"); // Este arquivo é o que faz a conexão com SGBD mysql.
$query = "select login, senha from usuario where login='$login' and senha='$senha2'; ";
$res = mysql_query($query);
$num_linha = mysql_num_rows($res);
if($num_linha > 0){
$_SESSION['usuario'] = $login;
echo "<a href='http://localhost/layout.php'> :: ENTRAR NO SITE ::";
}else{
echo "usuário não existe <br>";
echo "<a href='cadastro_de_usuario.php'> :: CADASTRAR :: </a>";
}
?>
Como vocês podem ver, crei uma variável de sessão e atribui a variável $login e
dei o nome de 'usuario' para a variável de sessão. Então caso o comando select do mysql
achar a linha com o login e senha informado ele criará a variável de sessão que citei
e irá mostrar um link ":: ENTRAR NO SITE ::" e esse link irá para página privada que
falei no começo que só cadastrados poderá ter acesso. Más para me certifica que
o usuário se loggin certinho e não apenas pegou o link da página privada e colou no
navegador crei um código para verificar se realmente a variável de sessão existe e inserir
no começo da página privada.
Aqui está meu problema, mesmo eu fazendo aquele teste no começo o contéudo da página irá
aparecer normalmente, não dizendo que o teste não funcionou, pois ele funciona normalmente
ele pede para o usuario efetuar o loggin e dá o o link para ele se logar.
Tentei fazer isso:
<?php
session_start();
if(!session_is_registered('usuario')){
echo "Efetue o login no site: <br>";
echo "<a href='login.php'> :: Logar :: </a>";
}else{
echo "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <br>
<html xmlns='http://www.w3.org/1999/xhtml'> <br>
<head> <br>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> <br>
<title>PRIVADA</title> <br>
</head> <br> ... "; // AQUI FICA TODO O RESTO DA PÁGINA.
}
?>
Desse jeito dá certo, más acha que fica muito amador e queria uma forma mais sufisticada de dizer:
"Olha página efetue este teste e se a variável de sessão chamada usuário foi criada mostre o contéudo
da página caso ao contrário não mostre o contéudo da página.". Queria saber se tem como colocar javascript
dentro do php, porque acho que consigo fazer alguma coisa com javascript que me ajude.
Já tentei isso más não deu certo.
Exemplo:
<?php
session_start();
if(!session_is_registered('usuario')){
echo "Efetue o login no site: <br>";
echo "<a href='login.php'> :: Logar :: </a>";
?>
<script language="javascript">
window alert("Efetue seu login");
</script>
<?php
}
?>
Pergunta
LuanMesquita
Olá pessoal feliz 2011 para todos.
Vamos lá, estou querendo fazer uma coisa não é bem Sessões, más envolve
sessões porisso que coloquei como título. Meu projeto é o seguinte, fazer
uma site que faça cadastramento de usuário e inseri-lo no Banco de Dados,
com o intuito de apenas os usuários cadastrados acessarem páginas privadas,
até aqui tudo bem, já dominei toda está parte.
Depois de cadastrado, ele abrirá uma página para fazer o loggin.
Este é um exemplo simples. OBS: O Código de cadastramento não colocarei por acha
desnecessário.
Depois de informa seu loggin e sua senha ele irá para seu action que é este. Como vocês podem ver, crei uma variável de sessão e atribui a variável $login e dei o nome de 'usuario' para a variável de sessão. Então caso o comando select do mysql achar a linha com o login e senha informado ele criará a variável de sessão que citei e irá mostrar um link ":: ENTRAR NO SITE ::" e esse link irá para página privada que falei no começo que só cadastrados poderá ter acesso. Más para me certifica que o usuário se loggin certinho e não apenas pegou o link da página privada e colou no navegador crei um código para verificar se realmente a variável de sessão existe e inserir no começo da página privada. Aqui está meu problema, mesmo eu fazendo aquele teste no começo o contéudo da página irá aparecer normalmente, não dizendo que o teste não funcionou, pois ele funciona normalmente ele pede para o usuario efetuar o loggin e dá o o link para ele se logar. Tentei fazer isso: Desse jeito dá certo, más acha que fica muito amador e queria uma forma mais sufisticada de dizer: "Olha página efetue este teste e se a variável de sessão chamada usuário foi criada mostre o contéudo da página caso ao contrário não mostre o contéudo da página.". Queria saber se tem como colocar javascript dentro do php, porque acho que consigo fazer alguma coisa com javascript que me ajude. Já tentei isso más não deu certo. Exemplo:Obrigado pela atenção, e souberem de alguma coisa
por favor me ajude.
Abraço a todos
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.