Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Difurlan

SESSION perde os valores ao tentar passar os mesmos entre dois frames.

Recommended Posts

Olá Amigos,

 

depois de resolvido o problema da chamada de atualização de um frame através de um segundo frame, estou com um novo contra-tempo:

 

No frame 2 eu carrego as SESSIONS conforme o código abaixo:

 

----------------------------------------- create.php

 

if (@$_POST["bsn"] != NULL)

{

$idConta=(int)$_POST["idConta"];

$dataMovimento=$_POST["dataMovimento"];

$valor=$_POST["valor"];

@$tipo=(int)$_POST["tipo"];

$codigo=$_POST["codigo"];

$descricao=$_POST["descricao"];

$idCategoria=(int)$_POST["idCategoria"];

 

require("..\lib_include\insere_no_banco.php");

$_SESSION["valor"]="";

$_SESSION["descricao"]="";

 

$Aconta=$_SESSION["idConta"];

 

$_SESSION["dataMovimento"]=substr($_SESSION["dataMovimento"],0,10);

$dataMovimento = explode("/",$_SESSION["dataMovimento"]);

$_SESSION["dataMovimento"] = $dataMovimento[2] . "/" . $dataMovimento[1]. "/" . $dataMovimento[0];

 

$_SESSION["refresh"] = 1;

echo $_SESSION["idConta"]=(int)$idConta;

echo $_SESSION["tipo"]=(int)$tipo;

 

// refresh em PRINCIPAL.PHP

echo "<script>java script:ref()</script>";

}

 

 

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

 

 

e tento receber essas variáveis no Principal.php, conforme o código abaixo:

 

-----------------principal.php

...

...

...

 

if ($_SESSION["refresh"] == 1)

{

echo $Aconta=(int)$_SESSION["idConta"];

echo $Atipo=(int)$_SESSION["tipo"];

$Adatainicial=$_SESSION["datainicial"];

$Adatafinal=$_SESSION["datafinal"];

}

 

...

...

...

 

Note que, no código do create.php, eu tenho o comando ECHO para mostrar o conteúdo das variáveis SESSION. Lá ele imprime o conteúdo pra mim...

 

... Notem também que eu tenho o comando ECHO para mostrar o conteúdo das variáveis SESSION quando estão sendo recebidas em principal.php, porém, nesta página os valores são '0' para as duas sessions.

 

Onde posso estar errando???

 

Desde já muito obrigado !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo o @ é para escapar os erros quando você vai trata-lo não para esconde-lo

remova e veja os erros que aparecem, as sessões não se perdem de um frame para outro a menos que sejam protocolos diferentes, tipo http e https

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo ze_violeiro,

 

estou usando o @ para esconder os indesejados "Undefined index..."... Realmente não estou certo, pois se aparece isso é pq tem algo que não está bem...

beleza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Batatinha66,

 

Estou fazendo da seguinte forma (no início de cada página).

 

create.php (rodapé.)

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

<?

ob_start();

session_start();

if (!($_SESSION["Login"]))

{

header("location:..\index.php");

}

?>

 

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

 

 

e no principal.php

 

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

 

<?

session_start();

if (!($_SESSION["Login"]))

{

header("location:..\index.php");

}

?>

 

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

 

 

Se alguém visualizar algum erro, por favor, me deem um toque.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos,

 

o register_globals estava setado como ON...

 

Estava acontecendo alguns conflitos entre variáveis $_SESSION e $_POST...

 

Mesmo assim, obrigado.

 

T+

 

[Podem marcar como resolvido].!! Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.