Ir para o conteúdo

 Voltar a Fórum do For...
Tela cheia

Tela de login

18 de Junho de 2012, 13:49 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 16 vezes

Ola, Boa Tarde a Todos.

Sou novo em PHP, e estou tentando entender o sistema.

Já alguns dias venho estudando o codigo e implementar a tela de login pujando do banco de dados SQLServer. Mais a tela de login sempre me retorna uma mensagem de alerta " O objeto ão dá suporte para a propriedade ou método". Gostaria de saber onde eu devo editar para ativer o metodo de logar e verificar em todas as areas do sistemas se o usuário continua logado.

Autor: Luis Almeida


55 comentários

  • 51b06d6eae66e2cfdfc361d418eea715?only path=false&size=50&d=404Luis Eugênio barbosa(usuário não autenticado)
    18 de Junho de 2012, 19:54

     

    Luis,

    você já testou se a sua conexão com o sql-server está funcionando ? Se não, terá primeiro que fazer o php funcionar com o SqlServer. Veja em: www.​php.​net/​manu​al/p​t_BR​/mss​ql.i​nsta​llat​ion.​php

    Assim que o sql estiver configurado para o php  faça o seguinte para testar se a aplicação está conectando:

    No diretório includes, altere o arquivo config_conexão para os parâmetros de conexão do sqlServer.

    Exemplo:

    define('BANCO','SQLSERVER');
    define('HOST','127.0.0.1');
    define('PORT','1433');
    define('DATABASE','bdTeste');
    define('USUARIO','sa');
    define('SENHA','senha');

    O que está em vermelho você terá que alterar para seu ambiente.

    Depois no arquivo index.php adicione a linha:  TPDOConnection::test(); antes da linha $app->run(); ( lá no final do arquivo );

    Execute a apliaçã e veja se aparece a mensagem Conexão com SqlServer OK!!!

    Depois remova a linha iserida;

    Abraço;

    • F11255c3ccec97d9ad0bfa683c82d0a6?only path=false&size=50&d=404Luis Almeida(usuário não autenticado)
      19 de Junho de 2012, 11:34

       

      Ola bom dia Luis,

      Fiz um spript para testa a conexão:

      <?  $con = mssql_connect("172.30.26.6","sa", "123456'");
        if (!$con) {   echo('Erro ao conectar ao MSSQL');
         } else {    echo('conectado ao MSSQL <br>');   
         }
         if (!mssql_select_db('tb_banco',$con)){
               echo('Banco não conectado');
          } else {
         echo('conectado ao Banco');

      Este sprip me retorna "conectado ao MSSQL" e "conectado ao Banco" 

      Porem quando tento configura pelos arquivos config_conexão e TPDOConnection da maneira que voce me indicou, ele me retorna a mensagem abaixo

      Falha na conexão.
      Erro PDO: Erro de conexão.
      DNS:
      mssql:host=172.30.26.6;dbname=tb_banco;port=1433

      Erro retornado:
      could not find driver
      Sql:

      Parametros:

      • 51b06d6eae66e2cfdfc361d418eea715?only path=false&size=50&d=404Luis Eugênio barbosa(usuário não autenticado)
        19 de Junho de 2012, 20:03

         

        Luis,

        você tem que habilitar a extensão PDO para o sqlserver. Veja em www.​php.​net/​manu​al/e​n/pd​o.in​stal​lati​on.p​hp,&​nbsp​; a extensão para o sqlserver é a

        extension=php_pdo.dll e extension=php_pdo_mssql.dll
        Se voce estiver utilizando o windows, procure pelo arquivo php.ini e descomente as linhas
        referentes as dlls acima, elas devem estar com ponto e virgula no início, assim:
        ;extension=php_pdo.dll
        ;extension=php_pdo_mssql.dll

        Após fazer as configurações, não esqueça de reiniciar o serviço do apache.

        Abraço. 

        • F11255c3ccec97d9ad0bfa683c82d0a6?only path=false&size=50&d=404Luis Almeida(usuário não autenticado)
          21 de Junho de 2012, 12:25

           

          Muito obrigado.

          Agora funcionou o teste de conexão com o banco SQLServer. So estou com uma probleminha do relação a propria tela de login, mais especificamente no botão do formulario: 

          $frm->addButtonAjax('Entrar',null,'fwValidateFields()','resultado','login','Validando informações','json',false);

          if( $acao =='login') {
              sleep(1);
              if( $frm->get('login')=='admin' && $frm->get('senha')=='admin'){
                  $_SESSION[APLICATIVO]['conectado']=true;
                  prepareReturnAjax(1);
              }else {
                  prepareReturnAjax(0);
              }
          }

          Se não estou enganado o metodo a ser usaso é "fwValidateFields()", certo?

          A tela_login.php me retorna uma mensagem: "O objeto não dá suporte para a propriedade ou método"

          O que pode estar acontecendo?

          • 51b06d6eae66e2cfdfc361d418eea715?only path=false&size=50&d=404Luis Eugênio barbosa(usuário não autenticado)
            22 de Junho de 2012, 23:10

             

            Luis,

            o método de validar é este mesmo, e o tratamento da ação também está correto, muito estranho esta mensagem. Faça o seguinte para depurar a ação:

            troque o formato de retorno da ação ajax de 'json' para 'text' e no tratamento da ação login de alguns echos para tentar localizar em qual linha está o erro.

            if( $acao =='login') {
                sleep(1);

            echo 'Passo 1 ok';die();
                if( $frm->get('login')=='admin' && $frm->get('senha')=='admin'){

            echo 'Passo 2 ok';die();
                    $_SESSION[APLICATIVO]['conectado']=true;
                    prepareReturnAjax(1);
                }else {

            echo 'Passo 3 ok';die();
                    prepareReturnAjax(0);
                }

            e na função javascript resultado exiba a resposta:

             function resultado( resposta)
            {
                alert( resposta);
            }

            Abraço.

Essa comunidade não possui posts nesse blog