+ Responder ao Tópico



  1. #1
    jamba
    Visitante

    Padrão SESSION nao inicia

    Criei um login com o pear e criei tb algumas sessoes nesse login, mas ao logar-me para entrar num formulario estas sessoes nao estou sendo inicializadas a nao ser qdo dou um reload na pagina. Estou usando o session_register, ja coloquei um session_start() mas nada adiantou...saberia o q esta ocorrendo?


    VALEU

  2. #2
    hez4el
    Visitante

    Padrão SESSION nao inicia

    O que acontece é o seguinte.
    Quando vc usa o comando session_start() o servidor
    inicia uma sessão para o usuario. Porém os dados da
    sessao como id variaveis e etc só ficam disponiveis para
    as paginas seguintes. Ex:

    session_start();
    session_register('username');

    echo $PHPSESSID; // nao escreve nada

    isso não funciona pq a variavel $PHPSESSID só estara disponivel
    depois q essa pagina for processada, sendo assim qualquer pagina posterior
    ja vai poder utilizar as variaveis registradas e as globais;

    Abraços

  3. #3
    jamba
    Visitante

    Padrão SESSION nao inicia

    Caramba.....

    Estou utilizando uma sessao em um SELECT em um arquivo externo e ao logar o log do postgresql retorna um erro na sintaxy por nao ter iniciado a sessao.

    Nao tem como resolver isso????
    Ja fazem 2 dias que estou nessa e nao consigo resolver!!!!

    Código :
    $data = $this->db->getAll("SELECT periodo,data_periodo,semestre FROM vw_data_periodo WHERE cod_curso = ".$_SESSION['id_curso']." AND periodo = $per AND semestre = 1 ORDER BY periodo;");

  4. #4
    hez4el
    Visitante

    Padrão SESSION nao inicia

    Opa.

    vc esta utilizando a variavel sessio dentro de uma classe?
    Eu num recomendo fazer isso. Tente passar a variavel como
    parametro do construtor ou de uma função.

    Tem outra coisa da uma olhada na conf e ve o modo como esta sendo feito o controle de sessão, se for por cookie talvez o navegador esteja bloqueando... e ve tmb o tempo de permanencia, se estiver baixo a sessao pode estar expirando entre uam pagina e outra (o q é menos provavel).

    Abraços

  5. #5
    jamba
    Visitante

    Padrão SESSION nao inicia

    Citação Postado originalmente por hez4el
    Opa.

    vc esta utilizando a variavel sessio dentro de uma classe?
    Sim. Tenho uma classe onde possuo algumas funcoes de insert e select.

    Poderia estar passando o pqarametro desta forma???

    index.php //page de autenticacao, criacao das sessoes e com templates
    Código :
    <?
    $dt = $eletiva->listaDataPeriodo(1,$_SESSION('id_curso')); // Sendo que esta session esta a algumas linhas acima.
    ?>

    conecta.php // page onde possuo a classe com as funcoes, uma delas citei acima
    Código :
    function listaDataPeriodo($per,$curso)
    {
       $data = $this->db->getAll("SELECT periodo,data_periodo,semestre FROM vw_data_periodo WHERE cod_curso = $curso AND periodo = $per AND semestre = 1 ORDER BY periodo;");
       return $data;
    }

    Desculpa c estou sendo chatao, hez4el mas preciso resolver isso o mais breve possivel.
    Valeu krinha.

  6. #6
    hez4el
    Visitante

    Padrão SESSION nao inicia

    De boa cara num encana não.

    O problema é o seguinte.. vc tem q abrir a sessão num arquivo e passar as variaveis em outro arquivo pq senão não da tempo de a aplicação registrar tudo e a variavel não vai estar disponivel.

    $dt = $eletiva->listaDataPeriodo(1,$_SESSION('id_curso')); // Isso aqui esta certinho, e é o melhor jeito de fazer
    o resto do seu código ta uma belezura da orientação a objeto, sem erro nenhum, só na consulta tenta usar
    campo = '$variavel'
    ao invés de
    campo= variavel
    delimitar o conteúdo da variavel dentro da consulta é bom pq algum espertinho pode passar um valor como variavel = 'like %a% e retornar todos os seus registros só pra zuar.


    ----------------------------------------------------------------------------------------
    para saber mais sobre como se deve programar certas coisa definiram-se as Patterns e Anti-Patterns.
    Patterns = modo mais lógico, simples, funcional e profissional de fazer.
    Anti-Patterns = modo que o programador escreve e ninguém mais le.
    mais em www.phppatterns.com

    Abraços

  7. #7
    jamba
    Visitante

    Padrão SESSION nao inicia

    Entao hez4el, passei a session como paramtro na funcao:
    Código :
    $datas = $eletiva->listaDataPeriodo(1,$_SESSION('id_curso'));

    Mas me eh retornado:
    Código :
    Fatal error: Call to undefined function: array() in diretorio/index.php line 98
    que eh a respectiva linha acima


    ???????
    :cry:

  8. #8
    hez4el
    Visitante

    Padrão SESSION nao inicia

    session é um array
    pra acessar um elemento tem que ser com [] e não ();

    certo: $_SESSION['id_curso'];

    errado: $_SESSION('id_curso');

    Blz

  9. #9
    jamba
    Visitante

    Padrão SESSION nao inicia

    Ok deu certo, quer dizer + ou - .

    Pra fechar com chave de ouro, ainda estou com problemas na inicializacao das sessoes.
    Ao logar-se elas nao sao inicializadas. C sua inicializacao decorre ao processamento da aplicacao, qual seria a saida, fazendo com que ocorra este start das sessoes logo no login???

  10. #10
    hez4el
    Visitante

    Padrão SESSION nao inicia

    geralmente quando a pessoa entra na tela de login eu ja gero uma sessao pra ela. Assim se ela entrar eu ja tenho acompanhamento desde que ela chegou na pagina, quantas tentivas de entrada fez e etc?
    Se ele não entrar a sessão expira e tchau...

    ABraços