Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #58 da revista programar. Faz já o download aqui!

MMousinho

Relatorio Filtrado do servidor SQLi.

Mensagens Recomendadas

MMousinho    1
MMousinho

Pessoal, boa noite, estou desenvolvendo um sistema onde cadastro ordens de serviços de prestação e vai direto para o Mysqli. (Esta funcionando certinho).

Agora preciso de ajuda para em uma nova pagina eu irei puxar o relatório através do filtro do usuário que estiver logado.

Ex:

Marcelo Mousinho esta Logado, no botão relatório do sistema quero que o Marcelo Mousinho só enxergue apenas as ordens que correspondem a ele mesmo.

 

Segue abaixo o código da pagina.


 

<?php
if (!isset($_SESSION)) {
  session_start();
}
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
  // For security, start by assuming the visitor is NOT authorized. 
  $isValid = False; 

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  if (!empty($UserName)) { 
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    $arrUsers = Explode(",", $strUsers); 
    $arrGroups = Explode(",", $strGroups); 
    if (in_array($UserName, $arrUsers)) { 
      $isValid = true; 
    } 
    // Or, you may restrict access to only certain users based on their username. 
    if (in_array($UserGroup, $arrGroups)) { 
      $isValid = true; 
    } 
    if (($strUsers == "") && true) { 
      $isValid = true; 
    } 
  } 
  return $isValid; 
}

$MM_restrictGoTo = "erro.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
  $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo); 
  exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Relatorio de serviços</title>
<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
<link href='css/style.css' rel='stylesheet'>
</head>

<body>

<div id='conteudo'>

    <div id='topo'>

  <div id='banner'>    
  
        <div class="bannermmnovo"></div>
        
        </div>    
    
  </div>
  
  <br>
<div class='colunaesquerdasistema'> 

<ul id="MenuBar1" class="MenuBarVertical">
 
  <li><a href="painel.php">Inicio</a></li>
  <li><a class="MenuBarItemSubmenu" href="#">Ordem de Serviços</a>
    <ul>
      <li><a href="ordemdeservicosterceiros.php">Lançar</a></li>
     <li><a href="relatoriodeoredemdeservicos.php">Ordens lançadas</a></li>
          </ul>
  </li>
  <li><a href="#">Contratos</a></li>
  <li><a href="#">Valor de Serviços</a></li>
               
</ul>
    </div>
<div class='colunasistema'>
    
    Desenvolver Aqui o Relatório!!!
    
    
    </div>
<script type="text/javascript">
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
  </script>
    </div>
</body>
</html>

 

 

Desde já agradeço.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
HappyHippyHippo    1134
HappyHippyHippo

- como estás a referenciar na BD que um registo é relevante a um utilizador ?

- como estás a guardar essa mesma informação de utilizador, quando fazes a autenticação ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
MMousinho    1
MMousinho
2 horas atrás, M6 disse:

Não percebi qual é a dúvida ou o problema.
Podes clarificar?

Eu tenho um banco de dados que é alimentado através de um formulário preenchido pelo usuário. 

Pará preencher o usuário tem que ligar no sistema. 

Eu quero criar um botão onde vou puxar todas ordens de servidos referente aquele usuário logado. 

Consegue ajudar? Não sei nem por onde iniciar. 

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
HappyHippyHippo    1134
HappyHippyHippo
1 hour ago, MMousinho said:

Não sei nem por onde iniciar. 

por responder às minhas perguntas

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
M6    86
M6

Se bem percebi, tens de fazer um select à tabela de ordens de serviço aplicando como clausula where o utilizador que está autenticado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
MMousinho    1
MMousinho

My, o caminho é este mesmo Man, porém sou novo em sistemas e estou aprendendo ainda, consegue me mostrar um exemplo? 

 

Desde já agradeço. 

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
MMousinho    1
MMousinho
Em 08/11/2017 às 15:21, HappyHippyHippo disse:

- como estás a referenciar na BD que um registo é relevante a um utilizador ?

- como estás a guardar essa mesma informação de utilizador, quando fazes a autenticação ?

Estou fazendo referencia a um banco de dados mysqli conforme codigo abaixo.

Desculpe a demora pra responder man. e espero que tenha sido isto que perguntou.

Desde ja agradeço.

<?php error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED);require_once('Connections/config.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['Login'])) {
  $loginUsername=$_POST['Login'];
  $password=$_POST['Senha:'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "painel.php";
  $MM_redirectLoginFailed = "erro.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_config, $config);
  
  $LoginRS__query=sprintf("SELECT Login, Senha FROM `usuário` WHERE Login=%s AND Senha=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 
   
  $LoginRS = mysql_query($LoginRS__query, $config) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    
    if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;          

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login de Sistema MM</title>

 

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
HappyHippyHippo    1134
HappyHippyHippo
On 08/11/2017 at 3:21 PM, HappyHippyHippo said:

- como estás a referenciar na BD que um registo é relevante a um utilizador ?

- como estás a guardar essa mesma informação de utilizador, quando fazes a autenticação ?

o que destas duas questões não percebeste ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
MMousinho    1
MMousinho
Em 12/11/2017 às 15:46, HappyHippyHippo disse:

o que destas duas questões não percebeste ?

A primeira. 

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade