1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda PHP

Discussão em 'Web Development' iniciada por Sasukez0r, 11 de Agosto de 2008. (Respostas: 9; Visualizações: 762)

  1. Sasukez0r

    Sasukez0r Power Member

    Como faço para poder colocar variaveis da session na frame por exemplo ta a pagina normal ke tem a seesion depois com uma frame e nas paginas da frame como faço apra aparecer os valores das variaves session e ke nao da.... vou deixar o codigo....

    login.php
    members.php
    stats.php
     
  2. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Não sei se percebi a tua dúvida, mas arrisco: tens o session_start() no início do ficheiro de cada frame?
     
  3. toblesu

    toblesu Power Member

    Porque em vez de usares includes não utilizas mesmo headers?? e passas as variáveis de sessão, por exemplo:



    if($row['access'] == 1){
    //include("member.php"); -> esta era a tua linha de código
    $_SESSION['username']= $username;
    $_SESSION['myusername']= $myusername;
    $_SESSION['password']=$mypassword;

    header("location: member.php");
    }

    e depois na member.php fazes a recepção do valores dessas variáveis

    <?
    session_start();
    $username=$_SESSION['username'];
    $myusername=
    $_SESSION['myusername'];
    $mypassword=
    $_SESSION['password'];
    ?>

    Pelo que eu entendo, o include vai fazer com a member.php seja "incluida" na login.php, logo nao necessitarias de receber as variáves de secção na member.php e uma vez que já tens os valores da secção guardados em variáveis : $username, $myusername e $mypassword, era só usares essas variáveis!

    Acho eu!
    Espero não estar a dizer nenhuma barbaridade! Se estiver, peço que me corrijam!!

    Espero ter ajudado.
     
    Última edição: 12 de Agosto de 2008
  4. MPalhas

    MPalhas Power Member

    penso que é isso. no members.php não foi preciso porque o ficheiro foi incluido no anterior, ou seja, é como um copy+paste do código para o ficheiro anterior. mas o ficheiro que aparece na frame é chamado normalmente pelo browser por isso precisa do session_start no inicio do stats.php
     
  5. Sasukez0r

    Sasukez0r Power Member

    isso nao funciona ja tentei =S
     
  6. Sasukez0r

    Sasukez0r Power Member

    ja fiz isso de por no stats.php session_start() e nao funciona... =S
     
  7. MPalhas

    MPalhas Power Member

    não funciona porque tu não estás sequer a usar váriaveis de sessão no stats.php.
    estás é a tentar usar o $row com os resultados da query do login.php.

    se queres usar esses resultados ai então no login.php, depois desta linha
    $row = mysql_fetch_array( $result );

    acrescenta:
    $_SESSION['results_row']=$row;


    e no stats.php, depois do session_start(), acrescenta:
    $row=$_SESSION['results_row'];
     
  8. Sasukez0r

    Sasukez0r Power Member

  9. toblesu

    toblesu Power Member

    Porque não fazes novamente a query no stats.php???
    passas as variáveis de sessão para lá, porque precisas do username, e penso que funciona!!

    Opá pode não ser a melhor maneira, porque vais estar a repetir código... mas pode funcionar!!

    Em relação ao que MPalhas sugeriu, não sei porque não funciona a dica dele, mas uma outra experiência poderia ser (já que estás numa de tentativa-erro):

    no login.php, depois da linha
    $row = mysql_fetch_array( $result );

    acrescenta:
    $_SESSION['results_row']=
    mysql_fetch_array( $result );

    e então no stats.php, depois do session_start(), acrescentas:

    $row=$_SESSION['results_row'];

    Não sei se isto poderá funcionar, mas.........
     
  10. MPalhas

    MPalhas Power Member

    $_SESSION['results_row']=mysql_fetch_array( $result );

    esta não vai funcionar. tem que usar a variavel $row em vez do mysql_fetch_array para atribuir a variavel de sessão (basicamente, da maneira que eu tinha dito).
    porque primeiro atribuis essa função ao $row, e quando a fores tentar usar novamente, a função vai tentar retornar o 2º registo da query, que provavelmente não existe visto ser uma query de login

    @Sasukez0r, nada como? dá algum erro? vai usando a função print_r($row) por exemplo em vários pontos do código (e usa também com as outras variáveis) para saberes onde é que os valores se perdem
     

Partilhar esta Página