Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal , eu estou com 2 problemas no meu código php
eu tipo de uma verificação se o usuário é admin (nivel=2) ou user(nivel=1), mas eu não estou conseguindo verificar , mesmo que eu altere o valor do nivel de uma pessoa logada para 1 ele continua entrando numa página restrita à adms , e outra coisa, eu nao consigo exibir os dados da pessoa , como eu faço pra salvar todos dados do mysql em uma sessão para exibir ?
vou deixar as páginas autenticacao.php , e da página restrita que seria painel.php , (eu queria exibir os dados no painel)
Login.php
<?php include('conexao.php');
?>
<html>
<head>
<title></title>
<script type="text/javascript">
function loginsucessfully() {
setTimeout("window.location='inicio.php'", 2000);
}
function loginfailed() {
setTimeout("window.location='index.php'", 2000);
}
</script>
</head>
<body>
<?php
$tabela = "usuarios";
$email=$_POST['email'];
$senha=$_POST['senha'];
$senha=$_POST['id'];
$senha=$_POST['cidade'];
$senha=$_POST['estado'];
$senha=$_POST['status'];
$sql = mysql_query("SELECT * FROM usuarios WHERE email = '$email' || senha = '$senha' || id = '$id' || cidade = '$cidade' || estado = '$estado' || status = '$status' ") or die(mysql_error());
$row = mysql_num_rows($sql);
if($row > 0){
session_start();
$_SESSION['senha']=$row['id'];
$_SESSION['senha']=$row['nivel'];
$_SESSION['senha']=$row['cidade'];
$_SESSION['senha']=$row['estado'];
$_SESSION['senha']=$row['status'];
$_SESSION['email']=$_POST['email'];
$_SESSION['senha']=$_POST['senha'];
echo "Logado , redirecionando ... ";
echo "<script>loginsucessfully()</script>";
}
else{
echo "E-mail ou senha estão incorretos, por favor , tente novamente , redirecionando para a área de login...";
echo "<script>loginfailed()</script>";
}
?>
</body>
</html>
painel.php
<?php include('conexao.php');?>
<?php
session_start();
if(!isset($_SESSION["email"]) || !isset($_SESSION["senha"])){
header("Location: index.php");
} else {
echo "";
}
$sql = "SELECT * FROM `usuarios` WHERE `nivel`";
$query = mysql_query($sql);
if (mysql_num_rows($query) !=2 ) {
echo "bem vindo!";
} else {
header("Location: index.php");
}
?>
<html>
<head>
<title></title>
</head>
<body>
//aqui eu quero exibir os dados para caso a pessoa queira alterar
</body>
</html>
e mais uma coisa , como faço para exibir um link no menu apenas para pessoas do nivel 2?
se precisarem ver mais alguma página só falar
eu não consegui entender ainda como faço , pode me dar pelo menos a idéia de como fazer , nao precisa fazer o script inteiro.
Em primeiro lugar:
$email=$_POST['email'];
$senha=$_POST['senha'];
$senha=$_POST['id'];
$senha=$_POST['cidade'];
$senha=$_POST['estado'];
$senha=$_POST['status'];
Você cria 5 variáveis $senha, cada $_POST recebido deve ser atribuído a uma variável diferente.
Segundo:
$_SESSION['senha']=$row['id'];
$_SESSION['senha']=$row['nivel'];
$_SESSION['senha']=$row['cidade'];
$_SESSION['senha']=$row['estado'];
$_SESSION['senha']=$row['status'];
$_SESSION['email']=$_POST['email'];
$_SESSION['senha']=$_POST['senha'];
Você cria 6 sessões "senha", é a mesma coisa do que falei anteriormente.Pronto , alterei todos , mas continua nao aparecendo , porque ?
é porque eu não estou salvando na sessão ?
eu estou tentando exibir assim :
echo $_SESSION['nome'];
echo $_SESSION['email'];
echo $_SESSION['status'];Tchê, estamos em um fórum de PHP, não tenho como adivinhar no que você está errando, vou dar uma dica, tente postar o seu script completo, assim eu posso ler ele. Apenas um detalhe, coloque o session_start() no topo da página sempre.
Então , já tentei de quase todos os tutoriais mais não consigo o que eu quero ,
vejamos , eu vou tentar explicar pra ver se me entendem :
na página de login eu queria salvar em uma sessão o email e senha que foi digitado no login . partindo dai eu quero exibir os dados da tabela do usuário como : id, status, cidade, estado ... Tem como fazer isso , ou eu preciso salvar tudo na sessão pra exibir?
se for possivel me mostre exemplos
[Editado]
Bom , consegui o que queria , muito obg a quem tentou ajudar , a solução foi ...
$email = $_SESSION["email"];
$query = "SELECT * FROM usuarios where email = '$email'";
$resultado = mysql_query ($query);
$campo = mysql_fetch_array ($resultado);
$nome = $campo ['nome'];
Leia: http://blog.thiagobelem.net/aprendendo-a-usar-sessoes-no-php