Ir para conteúdo
Fórum Script Brasil
  • 0

Alterar Dados do usuario logado


Renata Felix

Pergunta

Boa noite galera.

Eu criei um sistema onde possui um filtro de login que,caso seja adm direciona a um painel que possui a opçao de mostrar todos os dados dos usuarios cadastrados

e caso logue como usuario possui um painel que lhe permite alterar APENAS os seus dados.

A parte do administrados esta funcionando certinho,mostra todos os dados dos usuarios,le,altera e delta certinho; porem a do usuario,eu não consigo mostrar apenas os dados DELE e sim de todos os demais...

 

Conseguem me ajudar?

Vou deixar os codigos da pagina do usuario para ajudar

 

**********      INDEX1.PHP    ******************

 

<?php
include("seguranca.php"); // Inclui o arquivo com o sistema de segurança
protegePagina(); // Chama a função que protege a página
?>

<?php
// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();
?>

<!DOCTYPE html> 
<html lang="en">
<head>
    <meta charset="utf-8">
       <link href="css/bootstrap.min.css" rel="stylesheet">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="css/style8.css" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
</head>

  <body>
    <div class="container" style="border-top: 10px solid #fff; border-left: 60px solid #fff; ">
            <div class="row">
                
           <div class="panel panel-default">
                   <div class="panel-body">
                
            <img src="img/restrito.jpg" width="210" height="45"/>                                            
            <a href="logout.php" title="Logout" style="margin-left:750px;">
                        <img src="img/logout-gray.png" width="24" height="24"></a>

            </div>    
                    </div>
        
                </div>                        
                        
        <div class="row">                
                
                    <div class="panel panel-default">
                        <div class="panel-body">
            <h3>Bem - Vindo(a) Usuario</h3> <h2><?php echo $_SESSION['usuarioNome']; ?></h2>    
            <p>** Utilize o menu interativo abaixo para acessar as opcoes<p>
            </div>  
            </div>    
            
            <ul class="ca-menu">
                    <li>
                        <a href="usuario_logado.php">
                            <span class="ca-icon" id="heart">U w</span>
                            <div class="ca-content">
                                <h2 class="ca-main">Dados e Senha</h2>
                <h3 class="ca-sub">Alterar suas informacoes </h3>
                                
                            </div>
                        </a>
                    </li>
                    
                    <li>
                        <a href="#">
                            <span class="ca-icon">F</span>
                            <div class="ca-content">
                                <h2 class="ca-main">Meus Arquivos</h2>
                                <h3 class="ca-sub">Acessar arquivos </h3>
                            </div>
                        </a>
                    </li>
                    <li>
                        <a href="#">
                            <span class="ca-icon">e</span>
                            <div class="ca-content">
                                <h2 class="ca-main">Ajuda e Suporte</h2>
                                <h3 class="ca-sub">Precisa de ajuda em algo?</h3>
                            </div>
                        </a>
                    </li>
                    <li>
                        <a href="logout.php">
                            <span class="ca-icon">X</span>
                            <div class="ca-content">
                                <h2 class="ca-main">Sair</h2>
                                <h3 class="ca-sub">Deslogar da sessao</h3>
                            </div>
                        </a>
                    </li>
                </ul>
    
                          
                              
    </div>    
            </div> 
        </br>
     </br>
      </br>        
    
    
  </body>
</html>
    
    

 

**************************  USUARIO LOGADO.PHP **********************************

 

<?php
include("seguranca.php"); // Inclui o arquivo com o sistema de segurança
protegePagina(); // Chama a função que protege a página
?>

<?php
// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
</head>

<body>
    <div class="container" style="border-top: 60px solid #fff; border-left: 60px solid #fff; ">
            <div class="row">
                <div class="span12">
        <div class="panel panel-default">
                <div class="panel-body">                
                <img src="img/restrito.jpg" width="200" height="45"/>                    
            <a href="logout.php" title="Logout" style="margin-left:600px;">
                        <img src="img/logout-gray.png" width="24" height="24"></a>     
                </div>    
                </div>
        </div>
            </div>
            <div class="row">                
                        <div class="span12"> 
                <table class="table table-striped table-bordered">
                      <thead>
                        <tr>
                 <th>Nome</th>
                          <th>Endereco de Email</th>
                          <th>Numero de Celular</th>
                          <th>Acao</th>
                        </tr>
                      </thead>
                      <tbody>
                      <?php 
                       include 'paginator.php';
                       include 'database.php';
                       $pdo = Database::connect();

                       $paginator = new Paginator();
                       $sql = "SELECT count(*) FROM customers ";
                       $paginator->paginate($pdo->query($sql)->fetchColumn());

                       $sql = "SELECT * FROM customers ";

                       $query = isset($_GET['query'])?('%'.$_GET['query'].'%'):'%';
                       $sql .= "WHERE name LIKE :query OR email LIKE :query OR mobile LIKE :query ";

                       $start = (($paginator->getCurrentPage()-1)*$paginator->itemsPerPage);
                       $length = ($paginator->itemsPerPage);
                       $sql .= "ORDER BY id DESC limit :start, :length ";

                       $sth = $pdo->prepare($sql);
                       $sth->bindParam(':start',$start,PDO::PARAM_INT);
                       $sth->bindParam(':length',$length,PDO::PARAM_INT);
                       $sth->bindParam(':query',$query,PDO::PARAM_STR);
                       $sth->execute();


                        foreach ($sth->fetchAll(PDO::FETCH_ASSOC) as $row) {
                                   echo '<tr>';
                                   echo '<td>'. $row['name'] . '</td>';
                                   echo '<td>'. $row['email'] . '</td>';
                                   echo '<td>'. $row['mobile'] . '</td>';
                                   echo '<td width=250>';
                                   echo '<a class="btn" href="ler.php?id='.$row['id'].'">Visualizar</a>';
                                   echo '&nbsp;';
                                   echo '<a class="btn btn-success" href="alterar.php?id='.$row['id'].'">Alterar</a>';
                                   echo '&nbsp;';
                                   
                                   echo '</td>';
                                   echo '</tr>';
                       }
                       Database::disconnect();
                      ?>
                      </tbody>
                </table>
                <?php
                echo $paginator->pageNav();
                ?>
                </div>
            </div>
    </div> <!-- /container -->
  </body>
</html>

 

 

*********************************** SEGURANCA.PHP  *****************************************

 

<?php


//  Configurações 
// ==============================
$_SG['conectaServidor'] = true;    // Abre uma conexão com o servidor MySQL?
$_SG['abreSessao'] = true;         // Inicia a sessão com um session_start()?
$_SG['caseSensitive'] = false;     // Usar case-sensitive? Onde 'thiago' é diferente de 'THIAGO'
$_SG['validaSempre'] = true;       // Deseja validar o usuário e a senha a cada carregamento de página?
// Evita que, ao mudar os dados do usuário no banco de dado o mesmo contiue logado.
$_SG['servidor'] = 'localhost';    // Servidor MySQL
$_SG['usuario'] = 'root';          // Usuário MySQL
$_SG['senha'] = 'root';                // Senha MySQL
$_SG['banco'] = 'crud_tutorial';            // Banco de dados MySQL
$_SG['paginaLogin'] = 'login.php'; // Página de login
$_SG['tabela'] = 'customers';       // Nome da tabela onde os usuários são salvos
// ==============================
// ======================================
//   ~ Não edite a partir deste ponto ~
// ======================================
// Verifica se precisa fazer a conexão com o MySQL
if ($_SG['conectaServidor'] == true) {
  $_SG['link'] = @mysql_connect($_SG['servidor'], $_SG['usuario'], $_SG['senha']) or die("MySQL: Não foi possível conectar-se ao servidor [".$_SG['servidor']."].");
  mysql_select_db($_SG['banco'], $_SG['link']) or die("MySQL: Não foi possível conectar-se ao banco de dados [".$_SG['banco']."].");
}
// Verifica se precisa iniciar a sessão
if ($_SG['abreSessao'] == true)
  session_start();
/**
* Função que valida um usuário e senha
*
* @param string $usuario - O usuário a ser validado
* @param string $senha - A senha a ser validada
*
* @return bool - Se o usuário foi validado ou não (true/false)
*/
function validaUsuario($usuario, $senha) {
  global $_SG;
  $cS = ($_SG['caseSensitive']) ? 'BINARY' : '';
  // Usa a função addslashes para escapar as aspas
  $nusuario = addslashes($usuario);
  $nsenha = addslashes($senha);
  // Monta uma consulta SQL (query) para procurar um usuário
  $sql = "SELECT `id`, `name`, `nivel` FROM `".$_SG['tabela']."` WHERE ".$cS." `usuario` = '".$nusuario."' AND ".$cS." `senha` = '".$nsenha."' LIMIT 1";
  $query = mysql_query($sql);
  $resultado = mysql_fetch_assoc($query);
  // Verifica se encontrou algum registro
  if (empty($resultado)) {
  // Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
        echo "<script>alert('Login Invalido');window.location='login.php'</script>"; exit;
    // Nenhum registro foi encontrado => o usuário é inválido
    return false;
  } else {
  
     // Definimos tres valores na sessão com os dados do usuário
    $_SESSION['usuarioID'] = $resultado['id']; // Pega o valor da coluna 'id do registro encontrado no MySQL
    $_SESSION['usuarioNome'] = $resultado['name']; // Pega o valor da coluna 'nome' do registro encontrado no MySQL
    $_SESSION['usuarioNivel'] = $resultado['nivel']; // Pega o valor da coluna 'nivel' do registro encontrado no MySQL
    
    
    if ($resultado['nivel'] == 1) {
        header("Location:index.php");
    } else if ($resultado['nivel'] == 2) {
        header("Location:index1.php");
    } 
    // Verifica a opção se sempre validar o login
    if ($_SG['validaSempre'] == true) {
      // Definimos dois valores na sessão com os dados do login
      $_SESSION['usuarioLogin'] = $usuario;
      $_SESSION['usuarioSenha'] = $senha;
             

    }
    return true;
  }
}
/**
* Função que protege uma página
*/
function protegePagina() {
  global $_SG;
  if (!isset($_SESSION['usuarioID']) OR !isset($_SESSION['usuarioNome'])) {
    // Não há usuário logado, manda pra página de login
    expulsaVisitante();
  } else if (!isset($_SESSION['usuarioID']) OR !isset($_SESSION['usuarioNome'])) {
    // Há usuário logado, verifica se precisa validar o login novamente
    if ($_SG['validaSempre'] == true) {
      // Verifica se os dados salvos na sessão batem com os dados do banco de dados
      if (!validaUsuario($_SESSION['usuarioLogin'], $_SESSION['usuarioSenha'])) {
        // Os dados não batem, manda pra tela de login
        expulsaVisitante();
      }
    }
  }
}
/**
* Função para expulsar um visitante
*/
function expulsaVisitante() {
  global $_SG;
  // Remove as variáveis da sessão (caso elas existam)
  unset($_SESSION['usuarioID'], $_SESSION['usuarioNome'], $_SESSION['usuarioLogin'], $_SESSION['usuarioSenha']);
  // Manda pra tela de login
  header("Location: ".$_SG['paginaLogin']);
}

 

 

 

 

**************************** VALIDA.PHP  ***************************************

 

<?php
// Inclui o arquivo com o sistema de segurança
require_once("seguranca.php");
// Verifica se um formulário foi enviado
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  // Salva duas variáveis com o que foi digitado no formulário
  // Detalhe: faz uma verificação com isset() pra saber se o campo foi preenchido
  $usuario = (isset($_POST['usuario'])) ? $_POST['usuario'] : '';
  $senha = (isset($_POST['senha'])) ? $_POST['senha'] : '';
  // Utiliza uma função criada no seguranca.php pra validar os dados digitados
  if (validaUsuario($usuario, $senha) == true) {
    // O usuário e a senha digitados foram validados, manda pra página interna
    // Redireciona o visitante de acordo com o nivel
    if ($resultado['nivel'] == 1) {
        header("Location:index.php");
    } else if ($resultado['nivel'] == 2) {
        header("Location:index1.php");
    } 
    //header("Location: index.php");
  } else {
    // O usuário e/ou a senha são inválidos, manda de volta pro form de login
    // Para alterar o endereço da página de login, verifique o arquivo seguranca.php
    expulsaVisitante();
  }
}

 

 

 

 

Obrigada desde já quem puder me ajudar

 

Editado por Renata Felix
erro no codigo
Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

não entendi....bom o que eu tentei foi,como no admin ela pega todos os cadastros ($sql = "SELECT * FROM customers "), no de usuario eu fiz um where ($sql = "SELECT * FROM customers WHERE id = $_SESSION['usuarioID']";), mas apresenta o erro

arse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp64\www\CRUD\usuario_logado.php on line 57  

que é exatamente essa linha

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

No arquivo usuario_logado.php
mais precisamente no final, coloque esse trecho:

<?php
echo '<pre>';
print_r($_SESSION);
echo '</pre>';

E me diga quais são os índices que aparecem

Editado por wash
Link para o comentário
Compartilhar em outros sites

  • 0

La em cima na explicacao do tópico eu coloquei o codigo do usuario logado e do seguranca,que são os principais..no seguranca eu starto a sessao crio as variaveia com os valores dos usuarios

No usuario logado a conexao com o banco pra buscar oa dados do usuario logado p retornar a tabela e

     $sql = "SELECT * FROM customers where id = $SESSION_[usuarioID]";

testei como Where id = $id tambem não vai...não sei o que mais fazer

 

No codigo q pediu p eu colocar no fim da page elea mostrou os dados do logado certinho...tem alguma coisa pegando na hira de retornar na minha tabela q eu não sei o que é 😦

Link para o comentário
Compartilhar em outros sites

  • 0

Observei lá em cima!

você já tem um where:
$sql .= "WHERE name LIKE :query OR email LIKE :query OR mobile LIKE :query ";

Quando você acrescentou o outro where, deveria ter lançado uma exception.

Depois de executar a query:

$sth->execute();

você precisa verificar se houve alguma falha, e exibi-la na tela:
http://php.net/manual/pt_BR/pdo.errorcode.php

Link para o comentário
Compartilhar em outros sites

  • 0

Se eu especificar o numero do ID no Where ele retorna o cadastro,mas se eu usar a variavel  $_SESSION['usuarioID'] que é onde esta guardado os dados do usuario logado, ele apresenta erro 

 

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp64\www\CRUD\usuario_logado.php on line 58

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...