Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Klash1

Puxar dados somente para um usuário

Recommended Posts

Eae galera!

 

Sou iniciante com PHP, estou querendo fazer o seguinte:

Puxar os dados que foram inseridos e mostrar somente para o usuário específico.

Vou explicar melhor, antes vou deixar como o sistema está funcionando.

 

Quando vou montar o treino, mostra todos os clientes cadastrados.

 

montartreino.png.757dfea90ae4a5b5df33eeb99bbdd79f.png

 

Tabela Banco de dados:

 

tabelatreino.thumb.png.d47f5e7f274aa3cc78cba647958986f2.png

 

 

Esses clientes são cadastrados através dessa página:

 

cadastraraluno.png.b9eea5ee45420de3d2dadee32de7641a.png

 

 

Tabela Clientes:

 

tabelaclientes.thumb.png.2001fa8888132c68ddd3ee6934d6322c.png

 

Porém, tenho outra página de login, que cadastra o login dos usuários, incluso o tipo de acesso:

 

cadastrarlogin.png.f8ce8edf612a2ddc7371de6ca30948a0.png

 

Tabela Usuários:

 

id

login_usuario

senha_usuario

id_tipo_acesso

 

 

Quando cadastro o treino, ele lista todos os treinos cadastrados:

 

listartreinos.png.76ff51f2e32b186f633990e9244371d1.png

 

 

Painel ADM:

 

paineladm.thumb.png.c097ed8e0b8d7e4366c9b54fc5a5eadb.png

 

Área do Aluno:

 

areadoaluno.png.67739e2a4b8348cac195773132237fb4.png

 

 

Eu quero que aconteça o seguinte:

Quando eu cadastrar o treino, os dados seja inserido para determinado usuário e que se pode ser visto por esse usuário. Exemplo:

Tem 3 usuários: João, José e Pedro

Eu cadastro um treino para João, somente João vai poder ver aquele treino cadastrado, que vai estar na área do aluno (como na imagem), na opção Ver Treino.

 

Como fazer isso?

 

Vou deixar os códigos, caso queiram entender melhor a lógica que estou utilizando.

 

inserirTreino.php

 

<!doctype html>
<html lang="pt-br">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link href="bootstrap/css/style.css" rel="stylesheet">
    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
		<title>Montar Treino - Hércules Academia de Musculação</title>

		
	</head>
	<body class="adminstrutor">
		
			<p class="menuadm"><img src="bootstrap/img/logo.jpg" class="rounded-circle"><br>
                Área Restrita - Instrutor</p>
                <div class="w3-container w3-grey">
                    <h2 style="text-align: center;">Montar Treino</h2>
                </div>
                <br>
                <div class="d-flex justify-content-center align-items-center container ">
                    
                <form id="frmCadTreino" name="frmCadTreino" method="post" action="insTreino.php" role="form">
          <div class="form-group">
             <label for="lblCliente">Cliente:</label>
             <!-- recuperar dados para serem alocados no select -->
             <?php
                      require_once('conectar.php'); 
                      $con = open_database();
                      selectDb();
                      $rsCli = mysql_query("select * from clientes;"); 
                      close_database($con);
             ?>
             <!-- Carregamentos dos dados e construção do select -->
             <select name="slcCliente" id="slcCliente" class="form-control">
                 <!-- definir primeira linha e deixar selecionado -->
                <?php $row = mysql_fetch_array($rsCli); ?>
                <option value="<?php echo $row['id'] ?>" selected>
                  <?php echo $row['nome'];?> 
                </option>
                <!-- definir demais linhas do select option -->
                <?php while($row = mysql_fetch_array($rsCli)){?>
                  <option value="<?php echo $row['id'] ?>"><?php echo $row['nome'];?> </option>
                <?php }?>
             </select>      
          </div>
          <br><br> 
        <div class="form-group">
            <label for="lblData">Data: </label>
            <input type="date" class="form-control" name="txtdata" id="txtData"
                   value="<?php (new DateTime())->format('Y-m-d') ?>"
        </div>
                </div>
                <div class="form-group">
          <label for="lblObj">Objetivo: </label>
          <input type="text" class="form-control" name="txtObj" id="txtObj" placeholder="Objetivo do Aluno">
       </div>
        <div class="form-group">
          <label for="lblExe">Exercício:</label>
          <input type="text" class="form-control" name="txtExe" id="txtExe" placeholder="Nome do Exercício">
       </div>
       <div class="form-group">
          <label for="lblSer">Séries:</label>
          <input type="text" class="form-control" name="txtSer" id="txtSer" placeholder="Quantidade Séries">
       </div>
       <div class="form-group">
          <label for="lblRep">Repetições:</label>
          <input type="text" class="form-control" name="txtRep" id="txtRep" placeholder="Quantidade de Repetições">
       </div>
       <input name="bt_cad" id="bt_cad" class="btn btn-success " type="submit" value="Cadastrar Treino"> 
                </body>
                </html>
       
       

inserirClientes.html

 

<!doctype html>
<html lang="pt-br">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link href="bootstrap/css/style.css" rel="stylesheet">
    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
		<title>Cadastrar Aluno - Hércules Academia de Musculação</title>

		
	</head>
	<body class="adminstrutor">
		
			<p class="menuadm"><img src="bootstrap/img/logo.jpg" class="rounded-circle"><br>
                Área Restrita - Instrutor</p>
                <div class="w3-container w3-grey">
                    <h2 style="text-align: center;">Cadastrar Aluno</h2>
                  </div>
                  <br>
                  <div class="d-flex justify-content-center align-items-center container ">
                    
    <form id="frmCadastrarClientes" name="frmCadastrarClientes" method="post" action="inserirCli.php">
      <div class="form-row">
        <div class="col">
            <label for="lblNom">Nome do Aluno:</label>
            <input type="text" class="form-control" id="txtNom" name="txtNom" placeholder="Nome do Aluno">
        </div>
        <div class="col">
            <label for="lblCpf">CPF:</label>
            <input type="text" class="form-control" name="txtCpf" id="txtCpf"  placeholder="CPF do Aluno">
        </div>
      </div>
      <div class="form-row">
          <div class="col">
              <label for="lblNas">Nascimento</label>
              <input type="text" class="form-control" name="txtNas" id="txtNas" placeholder="Data de Nascimento">
          </div>
          <div class="col">
              <label for="lblCel">Celular:</label>
              <input type="text" class="form-control" name="txtCel" id="txtCel" placeholder="Número do Celular">
          </div>
        </div>
        <div class="form-row">
            <div class="col">
                <label for="lblEnd">Endereco:</label>
                <input type="text" class="form-control" name="txtEnd" id="txtEnd" placeholder="Endereço do Aluno">
            </div>
            <div class="col">
                <label for="lblBai">Bairro:</label>
                <input type="text" class="form-control" name="txtBai" id="txtBai" placeholder="Bairro do Aluno">
            </div>
          </div>
          <div class="form-row">
              <div class="col">
                  <label for="lblCep">CEP:</label>
                  <input type="text" class="form-control" name="txtCep" id="txtCep" placeholder="CEP do Aluno">
              </div>
              <div class="col">
                  <label for="lblCid">Cidade:</label>
                  <input type="text" class="form-control" name="txtCid" id="txtCid" placeholder="Cidade do Aluno">
              </div>
            </div>
        </div>
        <div class="d-flex justify-content-center align-items-center container ">
        <div class="form-row">
        <div class="col-sm-4">
       <input name="bt_cad" id="bt_cad" class="btn btn-success " type="submit" value="Cadastrar Aluno"> 
    </div>
    <div class="col-sm-4">
       <input name="bt_voltar" id="bt_voltar" class="btn btn-primary" type="button" value="Ver Todos Clientes"
             onclick="javascript:location.href='listarClientes.php'"> 
            </div>
            </div>
            </div>
            </form>
</body>
</html>

 

inserirLogin.html

 

<!doctype html>
<html lang="pt-br">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link href="bootstrap/css/style.css" rel="stylesheet">
    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
		<title>Cadastrar Login - Hércules Academia de Musculação</title>

		
	</head>
	<body class="adminstrutor">
		
			<p class="menuadm"><a href="paineladm.html"><img src="bootstrap/img/logo.jpg" class="rounded-circle"></a><br>
                Área Restrita - Instrutor</p>
                <div class="w3-container w3-grey">
                    <h2 style="text-align: center;">Cadastrar Login</h2>
                  </div>
                  <br>
                  <div class="d-flex justify-content-center align-items-center container ">
                    
                  <form action="controle.php" method="post">
                  <label>Login do Usuário:</label>
                  <input type="text" class="form-control" name="login" value="" required/><br>
                  <label>Senha do Usuário:</label>
        <input type="password" class="form-control" name="senha" value="" required /><br>
        <label>Tipo de usuário:</label>
        <select name="tipo_usuario" class="form-control" required>
            <option value="">Selecione</option>
            <option value="1">Usuario Comum</option>
            <option value="2">Administrador</option>
        </select><br /><br>
        <input type="submit" class="btn btn-success" name="cadastrar" value="Cadastrar" style="left: 57%; top: 70%;"/>
        </form>
    </body>
</html>

listarTreinos.php

 

<?php
  /*   session_start();
    if (!isset($_SESSION['user'])) //AND (!isset($_SESSION[nome])) ) 
        Header("Location: index.html"); */

     require_once('conectar.php'); 
     $con = open_database();
     selectDb();
     $rs = mysql_query("select treino.id, treino.cliente, 
                        clientes.nome,  treino.data, treino.objetivo, treino.exercicio,
                        treino.series, treino.repeticoes
                        from treino INNER JOIN clientes
                        on treino.cliente = clientes.id;"); 
     close_database($con); 
?>
<html>
    <head>
        <meta charset="UTF-8">
        <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
	    <link href="bootstrap/css/style.css" rel="stylesheet">
        <title>Gerenciar Treinos - Hércules Academia de Musculação</title>
    </head>
    <body class="container">
       
        <div class="row col-md-7">
        <table  class="table table-striped table table-hover">
            <tr>
                 <th>ID</th>
                 <th>CliId</th>
                 <th>Nome Cliente</th>
                 <th>Data</th> 
                 <th>Objetivo</th> 
                 <th>Exercicio</th> 
                 <th>Series</th> 
                 <th>Repeticoes</th>  
                 <th></th>
                 <th></th>
            </tr>
            <?php while ($row = mysql_fetch_array($rs)) { ?>
                <tr>
                   <td><?php echo $row['id'] ?></td>
                   <td><?php echo $row['cliente'] ?></td>
                   <td><?php echo $row['nome'] ?></td>
                   <td><?php echo (new DateTime($row['data']))->format("d-m-Y"); ?></td>
                   <td><?php echo $row['objetivo'] ?></td>
                   <td><?php echo $row['exercicio'] ?></td>
                   <td><?php echo $row['series'] ?></td>
                   <td><?php echo $row['repeticoes'] ?></td>

                   <td>
                      <button type="button" class="btn btn-warning" 
                         onclick="javascript: location.href='frmEdtPro.php?id=' +
                         <?php echo $row['id'] ?>">
                        <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
                      </button>
                   </td>
                   <td>
                      <button type="button" class="btn btn-danger" 
                         onclick="javascript: location.href='frmRemPro.php?id=' +
                         <?php echo $row['id'] ?>">
                        <span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span>
                      </button>
                   </td>
                </tr>
            <?php } ?>  
        </table>
    </<body>
        
</html>

 

Obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

Desde 2013 o php.net recomenda não usar mais as extensões mysql_*
Ao invés disso use mysli ou pdo

mysql_.jpgphp550.jpg

 

Para mostrar apenas os dados do usuário logado, use a id do usuário logado na query que busca os dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade o mysql_* foi descontinuado desde o PHP7 devido a suas inúmeras falhas principalmente nas questões de segurança.

 

PDO desde seu surgimento até os dias de hoje é a melhor opção em qualquer aspecto quando o assunto for manipulação de banco de dados.

Caso não conheça ou não saiba usar leia isso:

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.