$_SESSION Não passa conteúdo para aplicação criada fora do Scriptcase.

Prezados colegas,
Estou com dificuldade em uma solução que estou tentando desenvolver. Estou tentando conjugar o funcionamento de uma aplicação feita em php fora do Scriptcase com uma aplicação desenvolvida no Scrptcase. A aplicação externa recebe alguns parâmetros via $_SESSION[‘login’]…
Então na aplicação do Scriptcase eu populei algumas variáveis na plicação de login do modulo de segurança, depois em um item do modulo de menu eu chamo a aplicação externa. Como já havia populado as variáveis de sessão imaginei que funcionaria corretamente, só que não. A aplicação de destino não recebe as variáveis $_SESSION.
No evento onValidate da aplicação de login coloquei o seguinte código:
sc_set_global($login); //ronan
sc_set_global($senha); //ronan
sc_set_global($secc_login); //ronan
sc_set_global($secc_senha); //ronan
$_SESSION[‘login’] = $login; //ronan
$_SESSION[‘senha’] = $senha; //ronan
$_SESSION[‘secc_login’] = $secc_login; //ronan
$_SESSION[‘secc_senha’] = $secc_senha; //ronan

Já na aplicação de destino eu tentei os seguintes códigos:
$login = $_POST[‘login’];
$senha = $_POST[‘senha’];
segunda tenttiva:
$login = $_SESSION[‘login’];
$senha = $_SESSION[‘senha’];
Estas variáveis estão vazias quando a aplicação de destino é iniciada.

O mais interessante é que se eu copiar o conteúdo da aplicação de destino para uma aplicação blank do Scriptcasae as variáveis são carregadas corretamente.
Parece que a aplicação de menu não passa o conteúdo da _$SESSION para aplicações externas.
A chamada do menu foi implementada no evento onExecute com o seguinte código:
if ({sc_menu_item}==‘item_23’) header(“Location: http://localhost/secc/login2.php”);

Se alguém poder me dar uma ajudinha ficarei muito agradecido.
Um bom dia a todos…

[size=3]Olá Ronangledson,

Posso estar enganado, mas pelo que eu sei, não se passa parametros via session entre aplicações diferentes pois cada aplicação que roda em PHP gera a sua sessção, sendo assim, são posições diferentes da memória, não sao compartilhadas.

O que eu sugiro é o seguinte, criar um hash ( por questao de segurança) contndo seu login e senha e passar esta hash como parametro assim:

$hash = gera_hash($login,$senha);

sc_redir(http://www.dominio.com/php_destino.php,$h=$hash);

Na aplicacao no php destino você pega o parametro h

$par_hash = $_GET[‘h’];

$login = pega_login($[font=verdana]par_hash[/font]);
$senha = pega_senha($[/size]par_hash);

[size=3]Esta passagem de [font=verdana]parâmetro[/font][font=verdana] deveria funcionar.[/font]

[font=verdana]-------------[/font]

[font=verdana]Quanto a função gera_hash($login,$senha) voce pode fazer qualquer metodo de criptografia que desejar para embaralhar as informacoes. [/font]

[font=verdana]Espero ter ajudado

Grande abraço,

CL[/font]

[/size]

A sessão PHP fica disponível para todas aplicações abertas no browser. ela se mantém sim.

Tentar ver se no menu, dentro do if de validação do item, a variável de sessão possui valor.
E tenta utilizar o nome da variável de sessão como um nome único, por exemplo:
$_SESSION[‘app_externa’][‘login’]

O scriptcase usa muito as variáveis de sessão de index único ( $_SESSION[‘usario’], ou $_SESSION[‘login’] );

A $_SESSION trabalha mais ou menos assim:

Em resumo: Se for o mesmo domínio (meusite.com) ou subdomínio, a $_SESSION (no mesmo computador e navegador) é a mesma. Caso precise usar no mesmo navegador dois sistemas que estão no mesmo domínio, o melhor é separar em subdomínios, conforme foi apresentado no 2º caso.

Obrigado mestre Haroldo, nao sabia disto.

Prezados, muito obrigado pelas contribuições.
Aparentemente o problema está relacionado com o Scriptcase, pois foi observado apenas no ambiente de desenvolvimento, quando simulei um ambiente de produção o conteúdo da $_SESSION estava disponível. Mesmo assim ainda estou estudando um pouco mais para melhorar e garantir que não ocorra erros por falta de parâmetros. A ideia do $hash é muito interessante, vou tentar desenvolvê-la.

Nesse exemplo desenvolvi um aclasse que funciona direitinho para salvar e capturar valores em sessão.

http://iw.servehttp.com/sc81/app/forum_sc/control_campo_select_dinamico