Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde Galera, to com um problema serissímo com seções ($_SESSION)..
Segue abaixo trecho do fonte do arquivo admin.php:
admin.php:
PHP
<?php [session_start](http://br.php.net/session_start)();
if (($_SESSION["id_usuario"])){
[header](http://br.php.net/header)("Location: login.php?act=empty"); [exit](http://br.php.net/exit);
}else{
include("conexao.php");
$showform = $_GET["showform"];
$showform = ("admin/$showform.php") ? "home" : $showform;
}
?>
[code-html ... ]
<td valign="top">
<div style='width:98%;'><?php require_once("admin/$showform.php"); ?></div>
</td>
[...]
No decorrer o codigo do fonte acima, eu gravo uma secao da seguinte maneira:
PHP
$_SESSION["id_usuario"] = $row_users["ID_USUARIO"];
Reparem no arquivo acima, é incluso dinamicamente ( require_once("admin/$showform.php") ) um outro arquivo que servira como o body da pagina ....
o que ta me deixando doido, é q se eu mandar imprimir o conteudo da secao antes de invoar o require_once, ele imprime corretamete o conteudo da secao,
caso contrario, tipow, se eu quiser acessar a $_SESSION["id_usuario"] dentro de outro arquivo q vai ser incluso dentro do admin.php, vai imprimir uma string vazia ...
Aguem ja passou por isso? sera alguma configuracao no PHP.ini??
PS: Na maquina local roda normalmente, so da este problema qdo o site é acessado externamente ... meu PHP é v5
Bah kra... pior q pra hospedar em um server é meio barra! pois meu DB é mto grande e tenho mtos arquivos php ...
Mais é assim kra, to axando q pode ser alguma cfg no php.ini ou sei lah, coisa do nivel ...
Pois eu tenho meu proprio servidor web (o meu pc é o servidor web), e aki na rede local eu consigo acessar normalmente, mais qdo peço pra alguem de fora acessar o site, naum conseguem logar, pois a seção id_usuario sempre fika vazia .....
entende??? Oke podera ser ???
PS: Ambiente Windows + Apache + PHP5
Rodrigo, como falei, pesquisei aqui mas não encontrei nada <_<
Como testei em localhost, hospedado na web, na intra e na extranet, e em todos os casos funcionou, fica difícil pra mim encontrar o problema. Uso Win+AppServ, PHP5.
Sugiro testar com PHPTriad ou AppServ, para confirmar se o problema é configuração do seu php.ini
kra seguinte, na verdade eu uso o pacote AppServ tbm ...
no php.ini eu deixei assim register_globals = Off
e parece q resolveu o problema .... sera q isso tm a ver mesmo????
No meu servidor local php.ini register_globals está ON e funcionou desde o início.
A lógica está certa, testei aqui e rodou tanto localhost como no servidor
http://rbr5.dizinc.com/~ultraser/erroRodrigo.php
Ao informar a página na url ele chama e exibe o conteúdo da sessão (?showform=contatos)Arquivo incluido (contatos.php):
Sessão
Tenta hospedar em outro server para testar, com o exemplo acima deu certo aqui.