azeredo 0 Denunciar post Postado Outubro 10, 2006 Não sei se entendi bem lá no manual do php... mas minha dúvida é a seguinte... Na p1.php fiz algo assim $var1 = 2;session_start();$_SESSION['a'] = $var1; E numa outra págia a p2.php por exemplo fiz assim session_start();$b = $_SESSION['a']; Assim não funcionou, li mais um pouco e vi sobre o SID então fiz assim $var1 = 2;session_start();$_SESSION['a'] = $var1;echo '<a href = "p2.php'. SID .'"> .... E assim ok, funcionou. Mas o que eu precisava mesmo era passar para uma p3.php, então ao invés da p1 ter o link com SID fiz um link na p2 com ele para a p3 mas não funcionou. Então li mais um pouco.. hehe Vi sobre session_name A minha pergunta é, pois não estou podendo testar por não ter um servidor php aqui onde estou agora... Se eu fizer isso será que dá certo? p1.php session_name("teste");session_start();$_SESSION['a'] = $var1;e na p3.php session_name('teste');session_start();$b = $_SESSION['a'];Assim está certo, ou entendi errado? Vlw Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 10, 2006 na p3.php é só inverter?Tinha colocado antes, pq no manual falava que era para por o name antes do start..."Se você quiser usar uma seção com nomes, você deve usar session_name() antes de session_start()."Vlw Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 10, 2006 Bom agora to com o servidor php disponível aqui... Fiz uns testes aqui dos 2 modos.... com o name antes e depois do start mas nada ainda... p1.php session_name("teste");session_start(); $_SESSION['aluno'] = $aluno_cod; $_SESSION['rm_aluno'] = $rm_digitado;p2.php session_name("teste"); session_start(); $aa = $_SESSION['rm_aluno']; echo ($aa); Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 10, 2006 alguma sugestao? Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 11, 2006 hum... tava fazendo uns testes aqui.. e agora não sei porque começou a aparecer essas mensagens... Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Apache\htdocs\locadora\p1.php:3) in C:\Apache\htdocs\locadora\p1.php on line 6 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Apache\htdocs\locadora\p1.php:3) in C:\Apache\htdocs\locadora\p1.php on line 6 o p1.php <? $var1 = "aaaaa";session_name("teste");session_start();$_SESSION['a'] = $var1;?><a href="p2.php">teste</a>p2.php <?session_name('teste');session_start();$b = $_SESSION['a'];echo $b;?> Só que, depois que clico no link para o p2.php não aparece nada, dou um voltar e um refresh no p1.php e clico novamente no link pro p2.php aparece o aaaaa certinho... Vlw Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 11, 2006 então, estou sim, mas está dando aquelas mensagens ali acima... ai fui no php.ini e procurei por cache... mas aí fiquei na dúvida de modificar alguma coisa....Essas mensagens são lá em casa, como eu formatei e instalei novamente o apache + php talvez tenha esquecido de fazer alguma configuração... Aqui no escritório, fui testar e realmente funcionou, de uma página para outra... mas só consigo fazer funcionar em 1... tipo.... estou com 4 páginas...uma login.html que leva para escola.phpnessa escola tem um include para o verifica.php e neste verifica tem o código do p1.php aqui de cima... e se eu colocar o código do p2.php nessa escola funciona corretamente.Mas neste escola tem um link para o teste.php, então no escola.php não coloquei nada e pus o código do p2.php no teste.php aí ao acessar o teste.php não aparece nada.Aí pensei em colocar essa variável $b no escola.php e passar para o teste.php por get... mas seria mais prático se conseguisse retomar a sessão no próprio teste.php, pulando o escola.php Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 11, 2006 rapaz, realmente não sei o porque não está funcionando.... vou postar o código das 3 páginas... escola.php <? include("verifica.php"); ?><a href="teste.php">Boletim</a></p> verifica.php <?session_name("teste");session_start();$_SESSION['aluno'] = 555;$_SESSION['rm_aluno'] = 1234;?> e teste.php <? session_name("teste"); session_start(); $aluno_cod = $_SESSION['aluno']; $rm_digitado = $_SESSION['rm_aluno']; echo $aluno_cod;?> se eu pegar e copiar e colar esse código no escola.php, beleza aparece certinho o 555 agora no teste.php não aparece nada.... Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 11, 2006 Coloquei um include("verifica.php"); no teste.php aí sim aparece o 555...Não tem como retomar a session sem dar o include no verifica? Compartilhar este post Link para o post Compartilhar em outros sites
Tunder 0 Denunciar post Postado Outubro 11, 2006 rapaz, realmente não sei o porque não está funcionando....vou postar o código das 3 páginas... escola.php <? include("verifica.php"); ?><a href="teste.php">Boletim</a></p>verifica.php<?session_name("teste");session_start();$_SESSION['aluno'] = 555;$_SESSION['rm_aluno'] = 1234;?>e teste.php<? session_name("teste"); session_start(); $aluno_cod = $_SESSION['aluno']; $rm_digitado = $_SESSION['rm_aluno']; echo $aluno_cod;?>se eu pegar e copiar e colar esse código no escola.php, beleza aparece certinho o 555 agora no teste.php não aparece nada....será que não está faltando um include do verifica.php no teste.php?edit: foi mal demorei na resposta Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 11, 2006 hehe, postamos juntos.... então... só que como o verifica.php ele també é usado para verificar se o usuário e senha existe, e se não existir voltar para a tela de login, assim ao dar um include no verifica no teste.php ele acaba voltando para a tela de login.... todo o verifica.php <? include ("conexao.php"); if ($_POST["rm"] == "") { echo ("<script>alert('RM deve ser informado!')</script>"); include("index.php"); exit; } else { $rm_digitado = $_POST["rm"]; $sql_verifica = "select codigo, aluno, registromatricula, anoletivo, grade from matricul where registromatricula = $rm_digitado"; $consulta_verifica = ibase_query($conexao,$sql_verifica); $linha_verifica = ibase_fetch_object($consulta_verifica); if ($linha_verifica == true) { $rm_banco = $linha_verifica->REGISTROMATRICULA; if ($rm_digitado == $rm_banco) { $aluno_cod = $linha_verifica->ALUNO; $matricula_cod = $linha_verifica->CODIGO; $anoletivo_cod = $linha_verifica->ANOLETIVO; $grade_cod = $linha_verifica->GRADE; session_name("teste"); session_start(); $_SESSION['aluno'] = 555; $_SESSION['rm_aluno'] = 1234; } } else { echo ("<script>alert('RM incorreto!')</script>"); include("index.php"); exit; } }?> Necessariamente terei que fazer uma session para ficar verificando se o usuário já logou? Se for isso vou quebrar um pouco a cabeça para ver como que faz.. hehehe Sem o include não tem jeito? Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 11, 2006 to pensando nisso... no verifica.php session_name("teste");session_start();$_SESSION['aluno'] = 555;$_SESSION['rm_aluno'] = 1234;session_register("teste"); e no teste.php if (session_is_registered("teste") == false){volta para o login.html}else{ session_name("teste"); session_start(); $aluno_cod = $_SESSION['aluno']; $rm_digitado = $_SESSION['rm_aluno']; echo $aluno_cod;} Tá mais ou menos certo? Ou já to me confundindo todo?? Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 11, 2006 se eu entendi bem... então não preciso de nada disso de session_name, session_startposso apenas usar $_SESSION['var1'] = 555 no verifica e no teste usar echo $_SESSION['var1']?hum.. entendi errado mesmo... porque "$_SESSION não imita isto e necessita que session_start() seja chamada antes de usar."assim volto para o session_name... que pelos testes que fiz aqui não consegui fazer funcionar sem o include verifica.php...esse feriado vai ser longo...hehe Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 11, 2006 sem o include verifica no teste não funcionou também.... verifica session_start();$_SESSION['aluno'] = 555;$_SESSION['rm_aluno'] = 1234;escola include("verifica.php");teste session_start(); $aluno_cod = $_SESSION['aluno'];$rm_digitado = $_SESSION['rm_aluno'];echo ("$aluno_cod <br>"); echo $_SESSION['rm_aluno']; no teste nada, mas se por no escola aparece certinho... Obrigado a todas as ajudas até agora! Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 12, 2006 hum.. aqui em casa... nesse exemplo de cima, aparantemente funciona... o único porém, é que no escola.php aparece essa mensagemWarning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Apache\htdocs\testes\aluno.php:7) in C:\Apache\htdocs\testes\verifica.php on line 2A linha 2 neste caso é session_start();e ao clicar no link do escola para acessar o teste.php tudo ok, aparece as variáveis sem mensagem de erro nenhum...Agora essa mensagem de erro.. tem alguma coisa que eu possa verificar no php.ini?É fiz um teste aqui, com o verifica completo e o teste completo, não apenas como está acima, e funcionou certinho como eu pretendia... apenas aparece essa mensagem aqui....Com session_name não funcionou, mostra mais mensagem de erro e não funcionou... as mensagens são:Cannot send session cookie - headers already sent by (output started at C:\Apache\htdocs\escola2\aluno.php:7) in C:\Apache\htdocs\escola2\verifica.php on line 25 onde linha 25 é o session_startAlém da mensagem acima.Obrigado novamente a todos! Compartilhar este post Link para o post Compartilhar em outros sites