Ir para conteúdo
Fórum Script Brasil

ThinkBrunus

Membros
  • Total de itens

    98
  • Registro em

  • Última visita

Posts postados por ThinkBrunus

  1. Viva!

    Estou a desenvolver um formulário para edição de dados, e neste quero apresentar os dados armazenados na base de dados, e funciona tudo bem até determinado ponto em que não apresenta valor nenhum...

    Executei a query no MySQL Query Browser e apresenta tudo bem, então passei o código para a página php

    <?php  
    include_once($_SERVER['DOCUMENT_ROOT'] . "/includes/restrict.php");
    require($_SERVER['DOCUMENT_ROOT'] . "/includes/settings.php");    
    mysql_select_db("db_arquivo",$conn);
    
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET character_set_connection=utf8");
    mysql_query("SET character_set_client=utf8");
    mysql_query("SET character_set_results=utf8");    
    
        $sql = "SELECT id_arquivo,data_inicio,data_fim, classe.id_classe AS id_classe, classe.designacao AS classe,
                    subclasse.id_subclasse AS id_subclasse,subclasse.designacao AS subclasse,serie.id_serie AS id_serie,
                    serie.designacao AS serie,subserie.id_subserie AS id_subserie,subserie.designacao AS subserie,
                    assunto,arquivo.descricao AS descricaoArquivo,divisao.id_divisao AS id_divisao,divisao.sigla AS divisao,
                    num_entrada_gesdoc,arquivo.id_instalacao AS instalacao_id,instalacao.nome AS instalacao_nome,
                    sala.nome AS sala,corpo.nome,estante.nome,parteleira.nome,actualizacao
                FROM arquivo,classe,subclasse,serie,subserie,db_ema.divisao,instalacao,sala,corpo,estante, parteleira
                WHERE arquivo.id_classe = classe.id_classe AND arquivo.id_subclasse = subclasse.id_subclasse
                    AND arquivo.id_serie = serie.id_serie AND arquivo.id_subserie = subserie.id_subserie
                    AND arquivo.id_divisao = divisao.id_divisao AND arquivo.id_instalacao = instalacao.id_instalacao
                    AND arquivo.id_sala = sala.id_sala AND arquivo.id_corpo = corpo.id_corpo
                    AND arquivo.id_estante = estante.id_estante AND arquivo.id_parteleira = parteleira.id_parteleira
                    AND id_arquivo = '".$_GET['id']."'";
        $query = mysql_query($sql) or die(mysql_error());
        $rs=mysql_fetch_array($query);
        $id_instalacao = $rs['instalacao_id'];
        $instalacao = $rs['instalacao_nome'];    
        echo $id_instalacao."<br />";    
        echo $instalacao."<br />";
    ?>
    
    <!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" />
    <script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="/admin/arquivo/js/arquivoComboBox.js"></script>
    <title>Untitled Document</title>
    </head>
    
    <body>
    <form method="post" action="arquivoInserir_Guardar.php">
      <table width="668" border="1">
          <tr>
          <td colspan="3" align="center">Formulário inserção dados arquivo</td>
        </tr>
          <tr>
          <td colspan="3" align="right">&nbsp; &gt;&nbsp;<a href="/admin/admin.php">Sair</a>&nbsp;&nbsp;</td>
        </tr>    
        <tr>
          <td width="173">&nbsp;</td>
          <td width="332" align="center">Designação do Código</td>
          <td width="141" align="center">Código / Descrição</td>
        </tr>
        <tr>
          <td>Data Início</td>
          <td><input type="text" name="txt_data_inicio" id="txt_data_inicio" value="<?=$rs['data_inicio']?>"/></td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>Data Fim</td>
          <td><input type="text" name="txt_data_fim" id="txt_data_fim" 
               <?php 
                if ($rs['data_fim'] == NULL){
                    echo 'value="&nbsp;-&nbsp;Não atribuido&nbsp;-"';
                } else {
                    echo 'value="'.$rs['data_fim'].'"';
                }
            ?> 
          /></td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>Classe</td>
          <td><select name="combo_classe" id="combo_classe" onchange="java script:changeClasse()">
            <option value="<?=$rs['id_classe']?>"><?=$rs['classe']?></option>
                    <?php 
                        $query = "SELECT * FROM classe ORDER BY id_classe ASC";
                        $sql = mysql_query($query);
                        while ($result = mysql_fetch_array($sql)) { 
                            echo "<option value=\"" . $result['id_classe'] . "\">" . $result['designacao'] . "</option>";
                        }
                    ?>           
          </select>     </td>
          <td><div id="infoClasse"></div></td>
        </tr>
        <tr>
          <td>Subclasse</td>
          <td><select name="combo_subclasse" id="combo_subclasse">
            <option value="<?=$rs['id_subclasse']?>"><?=$rs['subclasse']?></option>
          </select>     </td>
          <td><div id="infoSubclasse"></div></td>
        </tr>
        <tr>
          <td>Série</td>
          <td><select name="combo_serie" id="combo_serie">
             <option value="<?=$rs['id_serie']?>"><?=$rs['serie']?></option>
          </select>    </td>
          <td><div id="infoSerie"></div></td>
        </tr>
        <tr>
          <td>Código subsérie</td>
          <td><select name="combo_subserie" id="combo_subserie">
            <option value="<?=$rs['id_subserie']?>"><?=$rs['subserie']?></option>
          </select>     </td>
          <td><div id="infoSubserie"></div></td>
        </tr>
        <tr>
          <td>Assunto</td>
          <td colspan="2"><input type="text" name="txt_assunto" id="txt_assunto" value="<?=$rs['assunto']?>" /></td>
        </tr>
        <tr>
          <td>Descrição</td>
          <td colspan="2"><textarea name="txt_descricao" id="txt_descricao" cols="40" rows="4" ><?=$rs['descricaoArquivo']?></textarea></td>
        </tr>
        <tr>
          <td>Entidade Produtora</td>
          <td colspan="2">
              <select name="combo_divisao" id="combo_divisao">
                   <option value="<?=$rs['id_divisao']?>"><?=$rs['divisao']?></option>
                    <?php 
                        $sql = "SELECT * FROM db_ema.divisao ORDER BY id_divisao ASC";
                        $qr = mysql_query($sql) or die(mysql_error());
                        while ($rs = mysql_fetch_assoc($qr)){
                            echo '<option value="' . $rs['id_divisao']. '">' . $rs['sigla']. '</option>';
                        }
                    ?>            
              </select></td>
        </tr>        
        <tr>
          <td>N.º entrada GESDOC</td>
          <td colspan="2"><input type="text" name="txt_entrada_gesdoc" id="txt_entrada_gesdoc" 
              <?php 
                if ($rs['num_entrada_gesdoc'] == NULL){
                    echo 'value="&nbsp;-&nbsp;Não atribuido&nbsp;-"';
                } else {
                    echo 'value="'.$rs['num_entrada_gesdoc'].'"';
                }
            ?> 
           /></td>
        </tr>
        <tr>
          <td>Unidade de instalação</td>
    
          <td colspan="2">    
          <select name="combo_unidadeInstalacao" id="combo_unidadeInstalacao">
                    <?php 
                        echo '<option selected="selected" value="'.$rs['instalacao_id'].'">'.$rs['instalacao_nome'].'</option>';
                        $sql = "SELECT * FROM instalacao ORDER BY id_instalacao ASC";
                        $qr = mysql_query($sql) or die(mysql_error());
                        while ($rs = mysql_fetch_assoc($qr)){
                            echo '<option value="' . $rs['id_instalacao']. '">' . $rs['nome']. '</option>';
                        }
                    ?>            
          </select></td>
        </tr>
        <tr>
          <td>Sala</td>
          <td colspan="2">      
          <select name="combo_sala" id="combo_sala" onchange="java script:changeSala()">
                  <option selected="selected" value="0">.:&nbsp;Seleccione a Sala&nbsp;:.</option>
                    <?php 
                        $sql = "SELECT * FROM sala ORDER BY id_sala ASC";
                        $qr = mysql_query($sql) or die(mysql_error());
                        while ($rs = mysql_fetch_assoc($qr)){
                            echo '<option value="' . $rs['id_sala']. '">' . $rs['nome']. '</option>';
                        }
                    ?>            
          </select></td>
        </tr>
        <tr>
          <td>Corpo</td>
          <td colspan="2">
          <select id="combo_corpo">
                <option disabled="disabled" value="0">.:&nbsp;Indique a Sala&nbsp;:.</option>
          </select></td>
        </tr>            
        <tr>
          <td>Estante</td>
          <td colspan="2">      
          <select id="combo_estante">
                  <option disabled="disabled" value="0">.:&nbsp;Seleccione primeiro o corpo&nbsp;:.</option>
          </select></td>
        </tr>
        <tr>
          <td>Parteleira</td>
          <td colspan="2">
          <select id="combo_parteleira">
                  <option disabled="disabled" value="0">.:&nbsp;Seleccione primeiro a estante&nbsp;:.</option>
          </select>      </td>
        </tr>           
        <tr>
          <td colspan="3">
            <table width="100%" border="0">
              <tr>
                <td width="270"><span class="campo_obrigatorio">* Campo de preenchimento obrigatório.</span> </td>
                <td width="164" align="center"><input type="submit" name="btnGravar" id="btnGravar" value="Guardar" /></td>
              </tr>
            </table>        </td>
        </tr>
      </table>
    </form>
    </body>
    </html>

    Como podem ver coloquei a escrever os valores em variáveis:

    $id_instalacao = $rs['instalacao_id'];

    $instalacao = $rs['instalacao_nome'];

    echo $id_instalacao."<br />";

    echo $instalacao."<br />";

    curioso ele neste ponto do código deixar de escrever se utilizar $rs['instalacao_nome'];, caso utilize $instalacao ele escreve....

    Poderá a variável $rs['campo'] estar sobrecarregada? Já tentei o mysql_free_result($query) mas não está a solucionar nada....

  2. No meio de tanta conotação de variáveis enganei-me (inner.HTML)...

    Então corrige-me se estiver enganado, se utilizar o innerHTML ficaria assim:

    document.getElementById("combo_serie").innerHTML = xmlHttp.responseText;
    onde estaria a retornar para o responseText
    echo "<option value='0'><-- Seleccione a opção --></option>";
                    while ($rs = mysql_fetch_assoc($query)){
                        echo '<option value="' . $rs['id_serie']. '">' . $rs['designacao']. '</option>';
                    }

    é isto?

  3. Olá Jonathan,

    Primeiro utilizei o inner.HTML, mas ele não escrevia nada,fiz um alert e ele retornava os valores certos (todos os options preenchidos) e não os escrevia no HTML.

    Dada a situação alterei para outerHTML e começou a escrever correctamente...

    Testei as tuas sugestões, a 1ª dá-me um erro estranho, mas a 2ª funciona na perfeição. Era essa tal alteração do código HTML que estava faltando o onchange.

    Relativamente ao innerHTML em vez de outerHTML não sei se há alguma solução, na verdade o outerHTML não funciona correctamente no FF.

    Muito obrigado pela tua dica!

  4. Olá a todos!

    Estou a desenvolver um formulário de inserção de dados, e pretendo que este tenha 4 combobox que sejam preenchidas dinamicamente sempre em função da opção escolhida na combo anterior.

    Recorrendo a pesquisas e algumas dicas pelos fórums vou desenvolvendo, e de momento tenho dois códigos, estando encalhado nos dois!

    O primeiro que já coloquei anteriormente num post sem respostas....

    $(document).ready(function(){
             
             $("select[name=combo_classe]").change(function(){
                $("select[name=combo_subclasse]").html('<option value="0">Carregando...</option>');
                
                $.post("subclasse.php",
                      {combo_classe:$(this).val()},
                      function(valor){
                         $("select[name=combo_subclasse]").html(valor);
                      })
             })
             
             $("select[name=combo_subclasse]").change(function(){
                $("select[name=combo_serie]").html('<option value="0">Carregando...</option>');
                
                $.post("serie.php",
                      {combo_subclasse:$(this).val()},
                      function(valor){
                         $("select[name=combo_serie]").html(valor);
                      })
             })         
    })
    ele preenche a 2º conforme selecção do 1º, e no 3º preenche conforme selecção da 2ª. Mas se alterar a opção da 2ª combo ele não actualiza. É este o obstáculo para o qual não encontro solução... Sem respostas, segui para o seguinte:
    function changeClasse(){
    xmlHttp = getXmlHttpObject(); //inicializa variável com identificação do browser
    var classe = encodeURI(document.getElementById('combo_classe').value);
    nocache = Math.random();
        xmlHttp.open("GET", "/admin/arquivo/teste.php?classe="+classe+"&nocache="+nocache);        
        xmlHttp.onreadystatechange = function(){
            if (xmlHttp.readyState == 4) {    
                document.getElementById("combo_subclasse").outerHTML = "<select id=\"combo_subclasse\" name=\"combo_subclasse\">" + xmlHttp.responseText + 
                "</select>";
            }
        }
    xmlHttp.send(null);
    }
    
    
    function changeSubclasse(){
    xmlHttp = getXmlHttpObject(); //inicializa variável com identificação do browser
    var subclasse = encodeURI(document.getElementById('combo_subclasse').value);
    nocache = Math.random();
        xmlHttp.open("GET", "/admin/arquivo/teste.php?subclasse="+subclasse+"&nocache="+nocache);        
        xmlHttp.onreadystatechange = function(){
            if (xmlHttp.readyState == 4) {    
                document.getElementById("combo_serie").outerHTML = "<select id=\"combo_serie\" name=\"combo_serie\">" + xmlHttp.responseText + 
                "</select>";
            }
        }
    xmlHttp.send(null);
    }
    Agora neste ele preenche o 2º combo sem problemas, mas no terceiro quando chamo no HTML:
    <select name="combo_subclasse" id="combo_subclasse" onchange="java script:changeSubclasse()">

    ...ele não executa nada, presumo que não reconheça os valores que foram inserido pela função referida "function changeClasse()"

    Ora tou no ponto que não sei para que lado virar-me, alguém pode dar-me uma ajuda?

    Obrigado!

  5. Bom dia!

    No seguimento da dificuldade em solucionar o tópico post http://scriptbrasil.com.br/forum/index.php?showtopic=139623, tentei outra alternativa, optando por utilizar AJAX.

    Agora tou com dificuldade em escrever os resultados obtidos num select, para terem uma ideia estou a tentar o seguinte:

    teste.js

    function changeClasse(){
    xmlHttp = getXmlHttpObject(); //inicializa variável com identificação do browser
    var classe = encodeURI(document.getElementById('combo_classe').value);
    nocache = Math.random();
        xmlHttp.open("GET", "/admin/arquivo/teste.php?classe="+classe+"&nocache="+nocache);    
        xmlHttp.onreadystatechange = function(){
            if (xmlHttp.readyState == 4) {    
                alert (xmlHttp.responseText);
                document.getElementById("combo_subclasse").innerHTML = xmlHttp.responseText;
            }
        }
    xmlHttp.send(null);
    }
    response.php
    $sql = "SELECT * FROM subclasse WHERE id_classe='".$_GET['classe']."'";
        $query = mysql_query($sql) or die(mysql_error());
            if (mysql_num_rows($query) == 0){
                echo '<option value="0">Sem subclasses!</option>';
            } else {    
                    while ($rs = mysql_fetch_assoc($query)){
                        echo '<option value="' . $rs['id_subclasse']. '">' . $rs['designacao']. '</option>';
                    }
            }
    Pretendo quando seja alterado o combo_classe, seja actualizado a combo_subclasse. Fiz um alert do responseText e ele apresenta os valores correcto, apenas não os escreve na combo! O código parece-me estar correcto... Viva! Indicaram-me que alterasse:
    document.getElementById("combo_subclasse").innerHTML = xmlHttp.responseText;
    para:
    document.getElementById("combo_subclasse").outerHTML = "<select id=\"combo_subclasse\" name=\"combo_subclasse\">"+xmlHttp.responseText+"</select>";

    Assim fica a funcionar!

  6. Viva!

    Depois de várias pesquisas sobre o preenchimento dinâmico de combos, passei à prática e estou com dificuldade em perceber o que não está bem no código.

    Pretendo preencher cada combo dependendo uns dos outros, na realidade classe > subclasse > serie > subserie, desta forma subclasse depende da classe, serie depende da subclasse e a subserie da série.

    Nesta base comecei a trabalhar neste código e estou parado no preenchimento da 3ª compo, que não reconhece quando à mudança na segunda...

    $(document).ready(function(){
             
             $("select[name=combo_classe]").bind('change',function(){
                $("select[name=combo_subclasse]").html('<option value="0">Carregando...</option>');
                
                $.post("subclasse.php",
                      {combo_classe:$(this).val()},
                      function(valor){
                         $("select[name=combo_subclasse]").html(valor);
                      })
             });
             
             $("select[name=combo_subclasse]").bind('change',function(){
                $("select[name=combo_serie]").html('<option value="0">Carregando...</option>');
                
                $.post("serie.php",
                      {combo_subclasse:$(this).val()},
                      function(valor){
                         $("select[name=combo_serie]").html(valor);
                      })
             });     
    });

    Certamente alguma coisa não está certa, que será?

  7. Viva!

    Estou a tentar utilizar duas base de dados em simultâneo, trabalhando numa que por vezes necessita de informação de uma outra...

    No código estou a seleccionar assim a base de dados:

    mysql_select_db('basedados',$conn) or die(mysql_error());

    É possivel seleccionar além desta, outra base de dados?

    Já tentei na query colocar ""basedados1.tabela.campo", mas quando executo dá erro no PHP, no mysql Query Browser funciona....

  8. Viva!

    Estou a desenvolver um painel de administração de raiz, e neste faço a verificação das permissões do utilizador logado. Conforme o ou os níveis de permissão, é apresentado um bloco ou módulo correspondente à autenticação. Para tal estou a utilizar o seguinte código:

    for($i = 0; $i < $total_acessos; $i++){
            switch ($acessos[$i]):
                case 1:
                    include_once($_SERVER['DOCUMENT_ROOT'] . "/admin/transportes/index.php");    
                    include_once($_SERVER['DOCUMENT_ROOT'] . "/admin/noticias/index.php");                    
                    include_once($_SERVER['DOCUMENT_ROOT'] . "/admin/alardo/index.php");                    
                    break;
                    case 2:
                    echo "<div id='pBlock'>"; 
                    include($_SERVER['DOCUMENT_ROOT'] . '/admin/transportes/index.php');
                    echo "</div>";                
                    break;
                case 3:
                    echo "<div id='pBlock'>";                 
                    include_once($_SERVER['DOCUMENT_ROOT'] . "/admin/noticias/index.php");
                    echo "</div>";                    
                    break;                    
                case 4:
                    echo "<div id='pBlock'>";                 
                    include_once($_SERVER['DOCUMENT_ROOT'] . "/admin/alardo/index.php");
                    echo "</div>";                    
                    break;                    
                default:
                        echo "<b>Utilizador</b>";
                    break;                    
            endswitch;
          }
    Desta forma, pretendo que, por exemplo um utilizador que tenha 4 tipos de permissões sejam apresentados os blocos correspondentes dois a dois, ou seja: _________________________ | bloco 1 | bloco 2 | |----------------|--------------- | | bloco 3 | bloco 4 | |____________|___________| Uma coisa assim, estou a tentar dispor os elementos de forma automatizada com o código css seguinte:
    #pBlockUser{
        width:100%;
        height:100%;
        font-size:0.9em;
        font-stretch:normal;
        font-family:Tahoma;
        background:#99CCFF;
    }
    #pMainBlock{
        width:490px;
        height:100%;
        display:table;
    }
    #pBlock{
        width:100%;
        height:100%;
        position:relative;
        display:table-cell;
    }

    Tenho experimentado várias formas conforma vou encontrando nas minhas pesquisas e leituras, mas não estou a chegar lá.

    Alguém me poderia dar umas luzes de como posso chegar lá?

    Obrigado!

  9. Julgo já ter conseguido, coloquei assim:

    while ($result = mysql_fetch_object($sql)) {
                if ($result->nome == true){
                    session_start();                
                    if ($numfields > 1)    {
                        $teste = array();
                        for($i=-1; $i <= $numfields; $i++){
                            $teste[$i] = mysql_result($sql,$i,"id_nivelacesso");
                        }
    
                        $_SESSION['username'] = $result -> nome;
                        $_SESSION['dominio'] = false;
                        $_SESSION['session_time'] = time();
                        $_SESSION['teste'] = $teste;
                        session_write_close();
                        echo $_SESSION['username'];

    } else {

    ...

    ...

  10. Viva!

    Estou a tentar aperfeiçoar o sistema autenticação já desenvolvido, e nesta fase pretendo que quando um utilizador se autentique sejam guardados os valores referentes aos níveis de permissão. Para começar utilizei a seguinte query:

    $query = "SELECT nome,password,id_nivelacesso
    FROM detalhe,nivelacesso_detalhe
    WHERE nome='" . $username . "' AND password='" . $password . "'
    AND nivelacesso_detalhe.id_detalhe=detalhe.id_detalhe";
    $sql = mysql_query($query) or die('Query failed: ' . mysql_error());
    E de seguida optei por saber quantas linhas foram retornadas, e num if optar por um procedimento se tiver mais que 1 tipo de permissões, caso contrário efectua o procedimento norma:
    $numfields = mysql_num_rows($sql);
    while ($result = mysql_fetch_object($sql)) {
            if ($result->nome == true){
                    session_start();
                    if ($numfields > 1)        {
                            $teste = array($numfields);
                            for($i=0;i<$numfields;$i++){
                                    $teste[$i] = $result -> id_nivelacesso;
                            }
                    /*
                            $niveis_acesso = array($numfields);
                            while ($result = mysql_fetch_array($sql)){
                                    for($i=0;$i<$numfields;$i++){
                                        $teste[$i] = $result->id_nivelacesso;
                                    }
                            }
                    */              
                    $_SESSION['username'] = $result -> nome;
                    $_SESSION['dominio'] = false;
                    $_SESSION['session_time'] = time();
                    $_SESSION['teste'] = $teste;
                    session_write_close();
                    echo $_SESSION['username'];
            } else {
                    $_SESSION['username'] = $result -> nome;
                    $_SESSION['dominio'] = false;
                    $_SESSION['session_time'] = time();
                    $_SESSION['nivel_acesso'] = $result -> id_nivelacesso;
                    session_write_close();
                    echo $_SESSION['username'];
            }
    } else {
            echo "0";
    }
    }
    
            } else {
                    echo "0";
            }

    A minha dificuldade está em perceber como vou percorrer o os valores da query e armazenar numa variável os valores das permissões, para que futuramente possa utilizar de forma a permitir o acesso a determinas áreas do site.

    Agradeço uma ajudinha para clarificar o meu raciocínio.

  11. Tenho conhecimento do link, encontreio-o entre as várias pesquisas que fiz antes de colocar este post.

    Talvez não me esteja a explicar bem, ou talvez esta seja uma questão que não consegurei explicar bem. Já percebi que cada tipo de tabela tem as suas caracteristicas e devem ser utilizadas consoante as necessidades a satisfazer.

    O que acontece, como referi, quando acedo ao phpMyAdmin e acedo à estrutura da base de dados surge o tipo de cada tabela, e na última linha indica o número total de tabelas, registos e na coluna a seguir em vez de aparecer o nome do tipo de tabelas que está a ser utilizado (InnoDB) aparece myISAM...

    Mas pelo que estou a perceber, é apenas uma forma de apresentação de dados pelo phoMyAdmin, e este campo que surge na última linha por baixo dos tipos de tabelas talvez se refira ao tipo de tabela definido como DEFAULT. Uma vez que as tabelas assumem o tipo atribuido, julgo que a informação (parece-me que seja um resumo contabilizado ou estatistico da base de dados) não tenha infuência no seu desempenho.

    De qualquer forma, agradeço a ajuda, obrigado!

  12. Estou aqui com alguma dificuldade em implementar o join, será que poderiam dar uma vista de olhos a ver o que está a falhar...

    SELECT posto.sigla AS posto,classe.sigla AS classe,apelido,divisao.sigla AS divisao,detalhe.nome AS detalhe,nivelacesso_detalhe.id_nivelacesso
    FROM utilizador,posto,classe,detalhe,divisao
    WHERE posto.id_posto=utilizador.id_posto
    AND classe.id_classe=utilizador.id_classe AND utilizador.id_detalhe=detalhe.id_detalhe
    AND detalhe.id_divisao=divisao.id_divisao
    JOIN nivelacesso_detalhe ON detalhe.id_detalhe=nivelacesso_detalhe.id_detalhe

    É de realçar que um utilizador poderá ter um ou mais tipos de permissão...

  13. Viva!

    Estou com uma dúvida na verificação das permissões de um utilizador, ou seja, tendo em conta que um utilizador poderá ter mais que um tipo de permissões estou a tentar uma querie que apresente os dados do utilizador e verifique as suas permissões.

    O que tenho actualmente é a querie que me retorna os dados de determinado utilizador, e quero que apareçam a ou as permissões dos mesmos a fim de guardar numa variável de sessão para poder restringir os acessos a determinadas páginas num site.

    Estou a fazer algumas experiências com o join....será que por aqui vou lá?

  14. Viva!

    Ando a explorar uma ideia para que a sessão expire passados n minutos, e de preferência sem utilizar a função setcookies.

    Segui algumas dicas que fui encontrando, alterei então no php.ini a linha "session.cache_expire = 1", e no código da página php adicionei a linha "session_cache_expire(1);"

    Após estas alterações, julgo que a sessão deveria expirar após 1 min de inactividade no browser, e na verdade a sessão continua on sem qualquer alteração...

    Algum pormenor coisa que está a faltar!!??

  15. Estou a tentar o seguinte código:

    xmlHttp.onreadystatechange = function(){
                    if (xmlHttp.readyState == 4) {
                            if (xmlHttp.responseText == 0){
                                    alert('Dados incorrectos!');
                            } else if (xmlHttp.responseText == 2){
                                    document.innerHTML = alert('Área reservada a utilizadores');
                                    document.location.reload(true);
                            } else {
                                    document.innerHTML = window.open('admin.php','Painel Administração','width=800,height=500');
                            }
                    }
            }

    Apenas não está a funcionar no IE7, no FF está porreiro!

  16. Viva!

    Após ter desenvolvido com sucesso e com a vossa ajuda um login em AJAX+PHP, estou a tentar outra forma a adaptar num painel de administração do site.

    Desta forma pretendo autenticar o user e depois reddireccionar para a página admin.php.

    Estou a pensar em adaptar o código já desenvolvido. Com base no código abaixo,

    xmlHttp.onreadystatechange = function(){
            if (xmlHttp.readyState == 4) {
                if (xmlHttp.responseText == 0){
                    alert('Dados incorrectos!');
                } else if (xmlHttp.responseText == 2){
                    document.getElementById("iBlockUser").innerHTML = alert('Área reservada a utilizadores!'); document.location.reload(true);
                } else {
                    document.getElementById("iBlockUser").innerHTML = document.location.reload(true);
                }
            }
        }

    a ideia é após validar o user, em vez de escrever no iBlockUser, redireccionar para a página admin.php.

    Estou à procura de solução para esta situação, alguém poderia dar alguma sugestão?

    Obrigado!

  17. No seguimento deste tópico (http://scriptbrasil.com.br/forum/index.php?showtopic=136671&st=0&p=544840&#entry544840) andei a fazer alguns testes no backup à base de dados, e deparei-me com o seguinte, acedendo ao phpMyAdmin selecciono a base dados e surge a listagem das tabelas

    Tabela | Acções | Registos | Tipo

    ------------------------------------

    teste | ......... | 0 | InnoDB

    teste1 | ......... | 0 | InnoDB

    2 tabela(s) | Soma | 0 | MyISAM

    Como exemplo na tabela acima, na coluna tipo os tipos de tabelas estão certos, apenas no fim aparece MyISAM. Esta situação implica alguma coisa no funcionamento da base dados?

    Já tentei criar uma tabela e tal como nas tabelas colocar a linha TYPE = InnoDB, mas não está a resultar....

×
×
  • Criar Novo...