Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

08-06-2011 20:10

Olá pessoal, estou fazendo um controle de acesso multi-nivel para usuário. Como eu nunca fiz, estou totalmente perdido. Estou pensando em algo que seja fácil fazer, pois é para implantar em um sistema que estou fazendo e sempre tem novas telas e por sua vez a permissão de acesso também.
Estou fazendo assim:

<?php if (!isset($_SESSION)) {   session_start(); } $MM_authorizedUsers = "inicio,quemsomos,financeiro"; //Cada nome significa uma página, guarde essa linha pois acredito que sera a mais falada...rs $MM_donotCheckaccess = "false"; // *** 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 == "") && false) {        $isValid = true;      }    }    return $isValid;  } $MM_restrictGoTo = "$site/Admin"; 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; } ?>

BANCO DE DADOS:
O campo que contem as permissões se chama: permissao. Quem recebe o valor da permissão é $_SESSION['MM_UserGroup'].

A minha intenção é criar vário chekbox na página que cadastra os usuários e cada checkbox com o nome da página e salvando na tabela permissão, separando por virgula.

Então quando for acessar alguma página o $MM_authorizedUsers verifica se o $_SESSION['MM_UserGroup'] tem algum nome referente a página acessada. Só que tem um detalhe quando se mostra o valor do $_SESSION['MM_UserGroup'], ele mostra tudo junto, teria que usar o Explode para separar e comparar.


Teoria eu sou fera, mas pratica estou caminhando, você poderia me ajudar da melhor e mais fácil maneira?
Obrigado.

MOVIDO: para MySQL
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso multi-nivel

08-06-2011 21:02

Mas no documento, terá um valor fixo relacionado ao próprio documento? Por exemplo:

documento.php
$area = "programação"; 

Aqui teria uma consulta com base no usuário logado.
Essa consulta tentaria relacionar o valor fixo da página "$area" com os valores já cadastrados para o usuário logado.

Seria isso?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

08-06-2011 21:18

Ex de páginas:

index.php
$MM_authorizedUsers = "inicio";

quemSomos.php
$MM_authorizedUsers = "quemsomos";

financeiro.php
$MM_authorizedUsers = "financeiro";

noticias.php
$MM_authorizedUsers = "noticias";

Na tabela de Administradore que tem o campo permissao. Nesse campo ira ter todas as páginas que o usuário X pode acessar.
Ex de usuarios:

Tiago
permissao contem: inicio,financeiro,noticias

Fulamo
permissao contem:quemsomos

Sicrano
permissao contem:noticias

Da para entender?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso multi-nivel

08-06-2011 21:24

Entendi, é o que estava imaginando. Está tendo problema em que parte?

A ideia do checkbox está ok, cria os checkbox com array, ex.: name="area[]" depois dá um implode e salva tudo separado por vírgula.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

08-06-2011 21:31

Estou tendo problema no código que postei acima. Quando ele faz a comparação não bate as informações. vou detalhar.

A variavel $_SESSION['MM_UserGroup']; no meu caso tem inicio,financeiro,noticias. Quando vai comprar ele comprara como se foce uma única palavra, eu não estou sabendo separar as palvras por suas virgulas e comparando. Entende?

Por favor, copie meu código para um editor ai ira ver melhor.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso multi-nivel

08-06-2011 21:54

Dá uma olhada nesse exemplo que montei.

<?php // simula a session com os valores $valores = "inicio,financeiro,noticias"; // separa os valores pela vírgula e cria o array $partes = explode(",", $valores); // área altual $area = "inicio"; // compara com uma das partes if(in_array(strval($area), $partes)) { echo "está"; } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

08-06-2011 22:37

Por favor, veja o que estou fazendo de errado:

<?php if (!isset($_SESSION)) {   session_start(); } $MM_authorizedUsers = "inicio"; $MM_donotCheckaccess = "false"; // simula a session com os valores $valores = $_SESSION['MM_UserGroup']; // separa os valores pela vírgula e cria o array $partes = explode(",", $valores); // *** 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 == "") && false) {        $isValid = true;      }    }    return $isValid;  } $MM_restrictGoTo = "$site/Admin"; if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $partes)))) {      $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; } ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso multi-nivel

09-06-2011 08:08

Está mostrando qual erro?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

09-06-2011 09:19

Amigo, erro não mostra, só não loga... Ou melho ele loga, mas quando chega na página inicial do painel parece que não reconhece a permissão e volta para a tela de login.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso multi-nivel

09-06-2011 09:35

Opinar assim sobre esse script é complicado, já que não dá para dar echo nos valores, para saber o que contém as variáveis.

O ideal é que teste, colocando echo sempre que for obter valores, para ver que valor está vindo. Já o erro de não logar ou validar, pode ser porque você não cria a SESSION referente ao valor desejado.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

09-06-2011 10:45

Eu fiz assim na página de login.
<?php echo explode(",", $_SESSION['MM_UserGroup']); ?>

ele só esta mostrando uma palavra Array.
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

09-06-2011 11:29

Amigão, acho que estou raciocinando errado. Confirme comigo...

Esse $_SESSION['MM_UserGroup'];. Ele já tem o nome das páginas separado por virgula, pois esta vindo do BD. Tem que fazer alguma forma do $MM_authorizedUsers reconhecer o $_SESSION['MM_UserGroup']; separadamente. Entende?

Ex quando logado com meu nome:
$_SESSION['MM_UserGroup'] recebe inicio,financeiro,noticias

Autoriza o usuário que tiver a palavra:
$MM_authorizedUsers = "inicio";

Outro usuário de exemplo, Fulano:
$_SESSION['MM_UserGroup'] recebe inicio,albumdefotos

Autoriza o usuário que tiver a palavra:
$MM_authorizedUsers = "inicio,albumdefotos";
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso multi-nivel

09-06-2011 12:03

Com base no exemplo que postei, ficaria assim

<?php $valores = $_SESSION['MM_UserGroup']; // separa os valores pela vírgula e cria o array $partes = explode(",", $valores); // área altual $MM_authorizedUsers = "inicio"; // compara com uma das partes if(in_array(strval($MM_authorizedUsers), $partes)) { echo "está"; } ?>

Testa assim e veja se funciona.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

09-06-2011 12:07

Exatamente, eu fiz esse teste:

<?php      $MM_authorizedUsers = "inicio";     $partes = explode(",", $_SESSION['MM_UserGroup']);     if(in_array(strval($MM_authorizedUsers), $partes)) {         echo "está";     }   ?>

Mas não estou sabendo passar isso para o meu código.

<?php if (!isset($_SESSION)) {   session_start(); } $MM_authorizedUsers = "inicio"; $MM_donotCheckaccess = "false"; // *** 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 == "") && false) {        $isValid = true;      }    }    return $isValid;  } $MM_restrictGoTo = "$site/Admin"; 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; } ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso multi-nivel

09-06-2011 12:15

No caso acho que você deve ver o que esse seu script postado faz, e adaptar esse que indiquei. Assim só de ver não dá para entender muito.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

09-06-2011 12:25

Vou dar um jeito aqui...rs.
Amigão e sobre o array na hora do cado, estou fazendo assim:

FORMULÁRIO:

<input name="permisao[]" type="checkbox" value="configuracoes" /> <input name="permisao[]" type="checkbox" value="quemsomos" /> <input name="permisao[]" type="checkbox" value="personalizar" />

ENVIAR PARA O BANCO DE DADOS:

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $box=$_POST['permisao']; while (list ($key,$val) = each ($box)) { $permisao = "$val,";  }    $insertSQL = sprintf("INSERT INTO administradores (cod, nome, telefone, email, infor, usuario, senha, permisao) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",                        GetSQLValueString($_POST['cod'], "text"),                        GetSQLValueString($_POST['nome'], "text"),                        GetSQLValueString($_POST['telefone'], "text"),                        GetSQLValueString($_POST['email'], "text"),                        GetSQLValueString($_POST['infor'], "text"),                        GetSQLValueString($_POST['usuario'], "text"),                        GetSQLValueString($_POST['senha'], "text"),                        GetSQLValueString($permisao, "text")); 

Mas quando eu salvo, ele só esta enviando o ultimo checkbox selecionado ao invés de todos. O que fiz de errado?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso multi-nivel

09-06-2011 13:12

Segue um exemplo

<form action="teste.php" method="post"> <input name="permisao[]" type="checkbox" value="configuracoes" /> <input name="permisao[]" type="checkbox" value="quemsomos" /> <input name="permisao[]" type="checkbox" value="personalizar" /> <input type="submit"> </form>


<?php if($_POST) { echo implode(",", $_POST['permisao']); } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

09-06-2011 13:21

AEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE. Com sua ajuda consegui fazer os dois. Veja o que fiz no primeiro.

Troquei de:

if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   


Para:

if (!((isset($_SESSION['MM_Username'])) && (in_array(strval($MM_authorizedUsers), $partes)))) {  

Tem outra questão para o esse array, para cadastrar esta tudo certo, e agora para editar? Quando eu for editar os campos marcados tem que permanecer marcado, ai eu mudo o que precisar, como fazer essa parte?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso multi-nivel

09-06-2011 17:02

Faz uma função com base no in_array, assim:

O seu formulário já tem os inputs fixo no HTML, ai, você faz uma chamada da função passando o valor do input, se esse valor estiver no array, fica checked.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

12-06-2011 20:20

Boa noite. Amigão, não estou conseguindo fazer esse array na página de editar. Quero que apareça selecionado chekbox que tenha o nome do banco de dados.
Meu form assim.

<table width="100%" border="0" cellspacing="2" cellpadding="0">           <tr>             <td width="5%" bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="inicio" checked="checked" />               <br /></td>             <td width="45%" bgcolor="#FFE7CE">Início</td>             <td width="5%" bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="configuracoes" /></td>             <td width="45%" bgcolor="#FFE7CE">Configurações</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="quemsomos" /></td>             <td bgcolor="#FFE7CE">Quem somos</td>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="personalizar" /></td>             <td bgcolor="#FFE7CE">Personalizar</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="agenda" /></td>             <td bgcolor="#FFE7CE">Agenda</td>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="usuarios" /></td>             <td bgcolor="#FFE7CE">Usuários</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="cadastro" /></td>             <td bgcolor="#FFE7CE">Cadastro</td>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="financeiro" /></td>             <td bgcolor="#FFE7CE">Financeiro</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="diasdeculto" /></td>             <td bgcolor="#FFE7CE">Dias de culto</td>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="enviodeemails" /></td>             <td bgcolor="#FFE7CE">Envio de e-mails</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="banners" /></td>             <td bgcolor="#FFE7CE">Banners</td>             <td bgcolor="#FFE7CE">&nbsp;</td>             <td bgcolor="#FFE7CE">&nbsp;</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="videos" /></td>             <td bgcolor="#FFE7CE">Vídeos</td>             <td bgcolor="#FFE7CE">&nbsp;</td>             <td bgcolor="#FFE7CE">&nbsp;</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="mensagensemaudio" /></td>             <td bgcolor="#FFE7CE">Mensagens em Áudio</td>             <td bgcolor="#FFE7CE">&nbsp;</td>             <td bgcolor="#FFE7CE">&nbsp;</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="radio" /></td>             <td bgcolor="#FFE7CE">Rádio</td>             <td bgcolor="#FFE7CE">&nbsp;</td>             <td bgcolor="#FFE7CE">&nbsp;</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="cultoonline" /></td>             <td bgcolor="#FFE7CE">Culton online</td>             <td bgcolor="#FFE7CE">&nbsp;</td>             <td bgcolor="#FFE7CE">&nbsp;</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="aconselhamento" /></td>             <td bgcolor="#FFE7CE">Aconselhamento</td>             <td bgcolor="#FFE7CE">&nbsp;</td>             <td bgcolor="#FFE7CE">&nbsp;</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="boletins" /></td>             <td bgcolor="#FFE7CE">Boletins</td>             <td bgcolor="#FFE7CE">&nbsp;</td>             <td bgcolor="#FFE7CE">&nbsp;</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="estudosbiblicos" /></td>             <td bgcolor="#FFE7CE">Estúdos Bíblicos</td>             <td bgcolor="#FFE7CE">&nbsp;</td>             <td bgcolor="#FFE7CE">&nbsp;</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="albumdefotos" /></td>             <td bgcolor="#FFE7CE">Álbum de fotos</td>             <td bgcolor="#FFE7CE">&nbsp;</td>             <td bgcolor="#FFE7CE">&nbsp;</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" value="noticias" /></td>             <td bgcolor="#FFE7CE">Notícias</td>             <td bgcolor="#FFE7CE">&nbsp;</td>             <td bgcolor="#FFE7CE">&nbsp;</td>           </tr>           <tr>             <td bgcolor="#FFE7CE"><input name="permisao[]" type="checkbox" id="permisao[]" value="noticiaexpressa" /></td>             <td bgcolor="#FFE7CE">Notícia Expressa</td>             <td bgcolor="#FFE7CE">&nbsp;</td>             <td bgcolor="#FFE7CE">&nbsp;</td>           </tr>         </table>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso multi-nivel

12-06-2011 20:30

O que indico no seu caso é usar a função mysql_result(). Funciona assim:

$query=mysql_query("SELECT ...");

// query, linha, coluna
echo mysql_result($query, 0, 'suacoluna');

No caso esse echo irá exibir a linha 1 dá coluna que você definir ai na terceira casa. Ai você tem que adaptar ao seu problema.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

12-06-2011 20:44

Por favor, me mostre na prática se possível, não estou conseguindo entender como montar.... Veja minha RS.

mysql_select_db($database_conexao, $conexao); $query_rs = sprintf("SELECT * FROM administradores WHERE Id = %s", GetSQLValueString($colname_rs, "int")); $rs = mysql_query($query_rs, $conexao) or die(mysql_error()); $row_rs = mysql_fetch_assoc($rs); $totalRows_rs = mysql_num_rows($rs); 

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso multi-nivel

12-06-2011 21:08

Supondo que sua query pegue um único registro, ou seja, o do cadastro que está sendo editado

echo mysql_result($query_rs, 0, 'suacoluna');

Onde está suacoluna entra a coluna do banco de dados onde você salva o valor.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216

Acesso multi-nivel

12-06-2011 21:22

Ainda não entendi...rs, mas fiz isso:

<?php echo mysql_result($query_rs, 0, 'permisao'); ?>

ERRO:

Warning: mysql_result(): supplied argument IS NOT a valid MySQL RESULT resource IN /usuariosEditar.php ON line 113

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Acesso multi-nivel

12-06-2011 21:44

Geralmente quando se faz uma consulta se obtém os valores dentro do while. O objetivo ai é obter o valor fora do while.

No seu caso, você já tem os checkbox, então teria que primeiro pegar o resultado para aquele id, como indiquei, depois, teria que criar uma função PHP que seria colocada em todos os checkbox. Essa função iria ver se o nome "permissao" do checkbox está contido no array, obtido pelo echo do exemplo que passei, se sim, marca o checkbox "checked", caso contrário não faz nada.

Mas, tem que eliminar esse erro ai. O uso do mysql_result parece estar certo, então deve ser erro na sua query, algum valor não está correto.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado