Jump to content
Sign in to follow this  
Gzaiia

Sessão

Recommended Posts

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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'];

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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'];

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By TheRonaldoStar
      Olá, Venho aqui de novo para tirar uma dúvida que creio eu ser muito simples porem não sei como aplicar!;
      Como diz no título do post eu gostaria de fazer um select de cadastros cujo o id do usuário online está nesta coluna,
      Porem neste campo contem 2 id separados por uma ' , '. Sendo assim não dar para mim fazer uma pesquisa com com a tag WHERE id ='Valor'
      Em fim eu quero ajuda para selecionar todos os cadastro cujo o id do usuário online está por EX: Sou o usuário 1 existe dois cadastros que tem meu id: [1, 2] e [2, 1];
      Alem de pesquisar todos os cadastros que tenha meu id nesta coluna eu quero que não tenha interferência ou listar cadastro do usuário 1 se eu for o usuário 21 por ex.
       
      Qual quer ajuda é bem vinda!
      Atenciosamente,
      ~Ronaldo
    • By Agnosticado
      Olá senhores, estou intrigado com uma coisa: tenho o seguinte código:
      $id_exame = "50296"; $pesquisa = "SELECT motivo, CASE WHEN motivo = 'Intensa superposição celular em mais de 75% de esfregaço' THEN 'A' WHEN motivo = 'Sangue em mais de 75% de esfregaço' THEN 'B' WHEN motivo = 'Artefatos de dessecamento mais de 75% de esfregaço' THEN 'C' ELSE 'TESTE' END AS opcao FROM insatisfatorio WHERE exame_id = '$id_exame' ORDER BY opcao ASC"; $linha = mysql_query($pesquisa); while ($pesquisa = mysql_fetch_array($linha) or die(mysql_error())){ echo $pesquisa["opcao"]; } Quando executo usando
       
      $linha = mysql_query($pesquisa);
                 while ($pesquisa = mysql_fetch_array($linha) or die(mysql_error())){
              echo $pesquisa["opcao"];
              echo "<br>";
       
       
      a saída é palavra "TESTE" que o default e não o texto "B" que corresponde a string da chamada do $id_exame = 50296.
       
      O ESQUISITO é que quando executo todo select que está na variável $pesquisa direto no SGBD dá certo e o texto "B" aparece normalmente.
      PQ DIABOS ISSO ACONTECE???
    • By Alandeoli
      Boa noite Pessoal!
       
       
      Estou criando uma tela de login, e passando os dados para uma pagina que vai se conectar ao AD, mas mesmo eu colocando os campos em branco a conexão esta passando como ok, segue os códigos se puderem me ajudar agradeço muito!
       
      Tela conexao:
       
      <?php   $adServer = "ldap://xxx.xxxx.xx.xx";   $ldap = ldap_connect($adServer); $username = $_POST['user']; $password = $_POST['pass'];   $ldaprdn = 'XXX' . "\\" . $username;   ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);   $bind = @ldap_bind($ldap, $ldaprdn, $password);   if($bind=true)   {   echo "conexão ok";     } else   {   echo "erro";     }   Tela Login:   <!DOCTYPE html> <html lang="pt-br"> <link href='css/login.css' rel='stylesheet' />


        <head> <meta charset="UTF-8"> <title>Tela de Login e Senha</title> </head>   <body> <div name="login" id="login"> <div name="box" id="box"> <form method="POST" action="ad.php" name="form"> Login : <input type="text" name="user" id="user"><br><br> Senha : <input type="password" name="pass" id="pass"><br><br> <input type="submit" value="Login" id="button"> </form> </div> </div>   </body>   </html>                                
    • By dutopfave
      Boa Tarde Galera, tenho um sistema de etiqueta que nele vai também código de barras, quando eu mostro na tela, funciona perfeitamente, mais quando gero pra pdf, com a biblioteca mPDF, da erro,  e é justo o código de barras q da esse erro, oq pode ser sera, segue o código de como ta:
       
      <?php require '../../Connections/config.php'; include "../Classes/funcoes.php"; include "cod.php"; $largura = 140; $altura = 130; include("mpdf60/mpdf.php"); // INICIO RECUPERA O ID DA ETIQUETA IMPORTADA $Row_Id_Etiqueta = addslashes($_GET['id_etiqueta']); $Recuperacao_Etiqueta = $pdo->prepare("SELECT * FROM tb_sys_etiqueta WHERE e_id = :e_id"); $Recuperacao_Etiqueta->bindValue(":e_id", $Row_Id_Etiqueta); $Recuperacao_Etiqueta->execute(); if($Recuperacao_Etiqueta->rowCount() > 0){ $Row_Recuperacao_Etiqueta = $Recuperacao_Etiqueta->fetch(); } // FIM RECUPERA O ID DA ETIQUETA IMPORTADA $id_etiqueta = $_GET['id_etiqueta']; $Lista_Etiqueta = "SELECT * FROM tb_sys_etiqueta WHERE e_id = '$id_etiqueta'"; $Lista_Etiqueta = $pdo->query($Lista_Etiqueta); if($Lista_Etiqueta->rowCount() > 0){ $etiqueta_id = $Lista_Etiqueta->fetch(); $qtd = $etiqueta_id['e_volume'] + 1; $qtd2 = $etiqueta_id['e_volume']; for ($i>0; $i<$qtd; $i++) { if($i>$etiqueta_id['e_pagina']){ // verificar se a pagina é menor que 10 if($i<10){ $n = '0'; }else{ $n = ''; } // verificar se a quantidade é menor que 10 if($etiqueta_id['e_volume']<10){ $nq = '0'; }else{ $nq = ''; } $html .= '<div class="etiqueta"> <div class="etiqueta-topo"> <img src="../images/logo.fw.png" width="116" height="52"> </div> <div class="etiqueta-empresa"> <div class="etiqueta-empresa-left"> <h1>GYN</h1> </div> <div class="etiqueta-empresa-right"> <h1>VOL: '.$n.''.$i.'/'.$nq.''.$qtd2.'</h1> </div> </div> <div class="etiqueta-endereco"> <div class="etiqueta-endereco-left"> <span><b>Remetente:</b></span><br/> <span>'.$etiqueta_id['e_remetente'].'</span><br/><br/> <span><b>Destinatário:</b></span><br/> <span>'.$etiqueta_id['e_destinatario'].'</span> </div> <div class="etiqueta-endereco-right"> '.geraCodigoBarra('232323232323').' <br /> '.$etiqueta_id['e_codigo_barras'].' <p>Goiânia/GO</p> </div> </div> </div>'; } } } $mpdf = new mPDF('utf-8', array($largura,$altura)); $css = file_get_contents("css/estilo.css"); $mpdf->WriteHTML($css,1); $mpdf->WriteHTML($html); $mpdf->Output(); exit;  
      a função pra gera o código de barras: cod.php
       
      <?php function geraCodigoBarra($numero){ $fino = 1; $largo = 3; $altura = 50; $barcodes[0] = '00110'; $barcodes[1] = '10001'; $barcodes[2] = '01001'; $barcodes[3] = '11000'; $barcodes[4] = '00101'; $barcodes[5] = '10100'; $barcodes[6] = '01100'; $barcodes[7] = '00011'; $barcodes[8] = '10010'; $barcodes[9] = '01010'; for($f1 = 9; $f1 >= 0; $f1--){ for($f2 = 9; $f2 >= 0; $f2--){ $f = ($f1*10)+$f2; $texto = ''; for($i = 1; $i < 6; $i++){ $texto .= substr($barcodes[$f1], ($i-1), 1).substr($barcodes[$f2] ,($i-1), 1); } $barcodes[$f] = $texto; } } echo '<img src="../images/p.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/b.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/p.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/b.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img '; $texto = $numero; if((strlen($texto) % 2) <> 0){ $texto = '0'.$texto; } while(strlen($texto) > 0){ $i = round(substr($texto, 0, 2)); $texto = substr($texto, strlen($texto)-(strlen($texto)-2), (strlen($texto)-2)); if(isset($barcodes[$i])){ $f = $barcodes[$i]; } for($i = 1; $i < 11; $i+=2){ if(substr($f, ($i-1), 1) == '0'){ $f1 = $fino ; }else{ $f1 = $largo ; } echo 'src="../images/p.gif" width="'.$f1.'" height="'.$altura.'" border="0">'; echo '<img '; if(substr($f, $i, 1) == '0'){ $f2 = $fino ; }else{ $f2 = $largo ; } echo 'src="../images/b.gif" width="'.$f2.'" height="'.$altura.'" border="0">'; echo '<img '; } } echo 'src="../images/p.gif" width="'.$largo.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/b.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/p.gif" width="1" height="'.$altura.'" border="0" />'; } ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.