Delivery Postado Dezembro 24, 2004 Denunciar Share Postado Dezembro 24, 2004 Quando tento passar as variáveis de uma página para outra usando session elas não aparecem na segunda.sessao1.php<html> <head> <title>Untitled Document</title> </head> <body> <form name="form1" method="post" action="sessao2.php"> <input type="submit" name="teste" value="Submit"> </form> </body> </html> sessao2.php <?php session_start(); $_SESSION['ok'] = "OK"; ?> <html> <head> <title>Untitled Document</title> </head> <body> <?php if($_POST['var'] == 'teste') { echo $_SESSION['ok']; } else { echo "Erro."; } ?><br> <br> <a href="sessao3.php">Prosseguir</a> </body> </html> sessao3.php <?php session_start(); If(IsSet($_SESSION['ok'])) { echo "OK"; exit; } ?> <html> <head> <title>Untitled Document</title> </head> <body> ERRO. </body> </html> No sessao1.php tem um botão que vai para sessao2.php e registra uma variável na session. No sessao2.php clicando em prosseguir vai para sessao3.php.Aqui no meu servidor, depois de clicar em prosseguir, ao invés de aparecer a mensagem "OK" aparece "ERRO.".Já tentei de várias maneiras modificando o php.ini, e ainda continua o problema.Se alguém puder me ajudar, fico muito grato!Vlw. Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jissa Postado Dezembro 24, 2004 Denunciar Share Postado Dezembro 24, 2004 pode não ter nada a ver.. mas tente colocar o isset (minusculo)ou então para testar mesmo coloque só o echo na sessão 3<?echo $_SESSION['ok'];exit;?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Delivery Postado Dezembro 24, 2004 Autor Denunciar Share Postado Dezembro 24, 2004 jissanão fez diferença com o isset maiúsculo ou minúsculoe se colocar somente<? echo $_SESSION['ok']; exit; ?> a página fica em branco.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Dezembro 24, 2004 Denunciar Share Postado Dezembro 24, 2004 A função isset eu tenho usado com o 's' em minúculo e tem funcionado, dessa forma:if(Isset($_SESSION['variavel'];$variavel = $_SESSION['variavel'];O que notei é que no seu formulário você não está passando variável nenhuma, não sei se funciona assim como você está fazendo.Do jeito que fiz, eu passo as variáveis pelo formulário, declaro elas como super-globais de sessão e funciona certinho. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Delivery Postado Dezembro 24, 2004 Autor Denunciar Share Postado Dezembro 24, 2004 fsphp,eu poderia fazer com q o formulario enviasse uma variavel, mas mesmo não irá adiantar. O problema é que a session é iniciada numa página mas quando eu passo pra outra a session deveria continuar com as variaveis registradas, mas não é isso que acontece.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Dezembro 24, 2004 Denunciar Share Postado Dezembro 24, 2004 daonde você ta pegando essa variavel var ?<?phpif($_POST['var] == 'teste') {echo $_SESSION['ok'];} else {echo "Erro.";}?>o certo seria:aqui você testa se foi postado o formularioif(isset($_POST['teste])) { Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jissa Postado Dezembro 24, 2004 Denunciar Share Postado Dezembro 24, 2004 Exetamente como voce fez, só copiei e colei..http://www.infinitehost.com.br/testes/sessao1.phpno segundo aparece Erro, pois esta tertando o POST, como não existe aparece a mensagem Erro, ao clicar em prosseguir ele aparece o OK..ve se funciona ai..não foi alterado nada no Script...Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Delivery Postado Dezembro 24, 2004 Autor Denunciar Share Postado Dezembro 24, 2004 Ae galera,é verdade, não tinha visto o $_POST['var'], que ta errado mesmo.Mas apesar disso não vai influir em nada, o importante é que ao clicar em prosseguir vai continuar dando erro aqui.No link que a Jissa colocou está dando "OK" na ultima página mostrando que a session ainda tava registrada ao mudar de pagina. Aqui ta dando erro. Já tentei instalar o PHP três vezes e mesmo assim ta dando problema. Acho que o confusão é na configuração do php.ini.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jissa Postado Dezembro 24, 2004 Denunciar Share Postado Dezembro 24, 2004 De uma olhada se o Session Support está enabled dentro do php.inicrie o script basico<?phpinfo();?>e veja o que aparece na session Support Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Delivery Postado Dezembro 24, 2004 Autor Denunciar Share Postado Dezembro 24, 2004 no phpinfo.php o session ta enable mesmo.aqui ta a parte de sessio do php.ini[Session] session.save_handler = files session.save_path = "C:\Windows\temp" session.use_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.serialize_handler = php session.gc_probability = 1 session.gc_divisor = 100 session.gc_maxlifetime = 1440 session.bug_compat_42 = 0 session.bug_compat_warn = 1 session.referer_check = session.entropy_length = 0 session.entropy_file = session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0 session.hash_function = 0 session.hash_bits_per_character = 5 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset=" Obridago! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jissa Postado Dezembro 24, 2004 Denunciar Share Postado Dezembro 24, 2004 é , acho que não sei como te ajudar..unica coisa que pode ser é onde esta tentando gravar as sessoessession.save_path = "C:\Windows\temp" veja se existe o diretorio, e se esta salvando lá, pode ser algum problema ai local, parece que o php.ini esta correto. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Dezembro 24, 2004 Denunciar Share Postado Dezembro 24, 2004 Tenta inverter. Coloca assim e vê no que dáïf(!Isset(SESION['var'])){echo "erro";} else{echo "OK!";} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Delivery Postado Dezembro 24, 2004 Autor Denunciar Share Postado Dezembro 24, 2004 Jissa,Eu olhei na pasta Temp e as sessoes estão sendo salvas sim.fsphp,Mesmo usando o seu código a mensagem é "erro".Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mayconvm Postado Dezembro 25, 2004 Denunciar Share Postado Dezembro 25, 2004 cara usa no lugar de $_session assim $HTTP_VARS_SESSION['']; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hlegius Postado Dezembro 25, 2004 Denunciar Share Postado Dezembro 25, 2004 cara usa no lugar de $_session assim $HTTP_VARS_SESSION['']; Não é por nada, mas o $HTTP_*_* está ultrapassado....É melhor usar o $_SERVER[] $_COOKIE[] $_SESSION[]falou... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Delivery Postado Dezembro 25, 2004 Autor Denunciar Share Postado Dezembro 25, 2004 Acho que o problema é no meu computador mesmo, já tentei de varias maneiras e ainda não consegui solucionar esse problema.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Dezembro 25, 2004 Denunciar Share Postado Dezembro 25, 2004 Explica melhor o que você pretende fazer sobre seu teste com if é claro que sempre vai cair no erro mas não que esta errado é porque você ta testando se uma variavel é igual a "teste" dai não existe essa variavel por isso sempre vai cair no erro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Delivery Postado Dezembro 25, 2004 Autor Denunciar Share Postado Dezembro 25, 2004 Ae Fabyo,testando esse outro código:sessao4.php<?php session_start(); $_SESSION["nome"] = "Teste"; echo "<a href=\"sessao5.php\">".$_SESSION["nome"]."</a>"; ?> sessao5.php <?php session_start(); echo $_SESSION["nome"]; ?> Na segunda página deveria aparecer "Teste", mas a página aparece em branco.O problema não é no código e sim em alguma configuração errada do PHP.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Delivery
Quando tento passar as variáveis de uma página para outra usando session elas não aparecem na segunda.
sessao1.php
sessao2.php sessao3.phpNo sessao1.php tem um botão que vai para sessao2.php e registra uma variável na session. No sessao2.php clicando em prosseguir vai para sessao3.php.
Aqui no meu servidor, depois de clicar em prosseguir, ao invés de aparecer a mensagem "OK" aparece "ERRO.".
Já tentei de várias maneiras modificando o php.ini, e ainda continua o problema.
Se alguém puder me ajudar, fico muito grato!
Vlw. Obrigado.
Link para o comentário
Compartilhar em outros sites
17 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.