Ir para conteúdo

POWERED BY:

Arquivado

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

felipe maricato moura

doce de coco

Recommended Posts

gente to com o php 4.3 e até hoje não consegui setar um sessão então resolvi fazer um código banal para o teste e nada eu aperto no ok e nada acontece alguem pode me explicar o que ta acontecendo obrigado, lembrando que é só um teste para ver se ta funcionando a sessão na meu sistema:index.php

<?$_POST['rodar'];switch ($rodar) {case "sim":$bla = $_POST['login'];session_start();$_SESSION['teste'] = $bla;header("teste.php");}?><form action="index.php" method="post"><table width="500" border="0">  <tr>     <td width="87">Nome:</td>    <td width="403"><input name="login" type="text" id="login">        <input name="rodar" type="hidden" id="rodar" value="sim"></td>  </tr>  <tr>     <td> </td>    <td><input type="submit" name="Submit" value="Enviar"></td>  </tr></table></form>

teste.php

<?if (isset($_SESSION['teste'])) {echo $_SESSION['teste'];}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara lê a documentação do php (www.php.net) ...Nota: Se você está usando sessões baseadas em cookie, você deve chamar session_start() antes de qualquer coisa ser exibida para o navegador. tirei isso do php.net[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara lê a documentação do php (www.php.net) ...Nota: Se você está usando sessões baseadas em cookie, você deve chamar session_start() antes de qualquer coisa ser exibida para o navegador. tirei isso do php.net[]s

Já li mas não me esclareceu nada nem os exemplos de declaração deles funcionaram

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?session_start("sessao");if(!session_is_registered("data")){  $data = date("Y-m-d");  session_register("data");  echo "variável de sessão criada!";  echo "data: ".$data."

";}else{  if(isset($sair)){      session_unregister("data");      session_unset();      session_destroy();      echo "variável de sessão detruída!

";  }else{      echo "variável de sessão:";      echo "data: ".$data."";      echo "PHPSESSID: ".$PHPSESSID."

";      echo "destruir sessão.";  }}echo "testar!.";?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?session_start("sessao");if(!session_is_registered("data")){   $data = date("Y-m-d");   session_register("data");   echo "variável de sessão criada!<br>";   echo "data: ".$data."<p>";}else{  if(isset($sair)){      session_unregister("data");      session_unset();      session_destroy();      echo "variável de sessão detruída!<p>";   }else{      echo "variável de sessão:<br>";      echo "data: ".$data."<br>";      echo "PHPSESSID: ".$PHPSESSID."<p>";      echo "<a href=".$PHP_SELF."?sair=1>destruir sessão</a><br>";   }}echo "<a href=".$PHP_SELF.">testar!</a>";?>

Cara pode comentar o código naõ entendi por que tu postou esse código

Compartilhar este post


Link para o post
Compartilhar em outros sites

Felipe, ja tive problemas com session e acho q você esta tendo o mesmo que eu tive!! Seguinte... na index.php você fez certo, só muda a "header(teste.php)" para um código de redirecionamento em javascript!!! PQ?Pq parece q existe um bug quando você insere dados numa session e depois usa o comando header para redirecionar para uma outra pagina. Quando você entra na pagina teste.php com esse redirecionamento e usa o camando "session_start();", é criada uma nova session em branco e você não consegue recuperar os dados.E só mais uma coisa, na "teste.php" antes de buscar os dados da um session_start();Espero ter ajudadoAbraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Felipe, ja tive problemas com session e acho q você esta tendo o mesmo que eu tive!! Seguinte... na index.php você fez certo, só muda a "header(teste.php)" para um código de redirecionamento em javascript!!! PQ?Pq parece q existe um bug quando você insere dados numa session e depois usa o comando header para redirecionar para uma outra pagina. Quando você entra na pagina teste.php com esse redirecionamento e usa o camando "session_start();", é criada uma nova session em branco e você não consegue recuperar os dados.E só mais uma coisa, na "teste.php" antes de buscar os dados da um session_start();Espero ter ajudadoAbraços

bha cara é justamente esse meu problema eu declaro uma sessão e consigo ver o valor dela mas quando eu passo para outra página esse valor se perde e eu não sei por que mas não é só com header é com link e com submit também que eu perco o valor da sessão ela só fica setada por uma pá´gina se´ra que não é algo do apache ou do php.ini?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

felipe maricato moura, apenas execute esse script que passei e leia o codigo interpretando-o, depurando-o.quanto ao que o 7vidas disse sobre o header + sessions, não é bem isso..o browser requisita cabeçalhos, e estes devem ser enviados um por vezquando se usa sessions é enviado um cabeçalho, o mesmo se dá com o header("location: ...")sendo que ao usar session_start() e logo depois usar header() para redirecionar você vai estar enviando 2 cabeçalhos num único script, entendeu?quando isso acontece aparece uma mensgem de erro dizendo que não pode enviar mais de um cabeçalho (em inglês).

Compartilhar este post


Link para o post
Compartilhar em outros sites

bha cara é justamente esse meu problema eu declaro uma sessão e consigo ver o valor dela mas quando eu passo para outra página esse valor se perde e eu não sei por que mas não é só com header é com link e com submit também que eu perco o valor da sessão ela só fica setada por uma pá´gina se´ra que não é algo do apache ou do php.ini?????

tenta trocar por isso:

 

<?

if(isset($_POST['rodar'])){

$rodar = $_POST['rodar'];

switch ($rodar) {

  case "sim":

  $bla = $_POST['login'];

  session_start();

  $_SESSION['teste'] = $bla;

  //header("teste.php");

  ?>

  <script language=javascript>location.href="teste.php?PHPSESSID=<?=$PHPSESSID;?>";

  <?

break;

}

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara o que que é isso: $PHPSESSID

Compartilhar este post


Link para o post
Compartilhar em outros sites

tudo bem e como capturo na outra página

<?if(isset($_POST['rodar'])){$rodar = $_POST['rodar'];switch ($rodar) {  case "sim":  $bla = $_POST['login'];  session_start();  $_SESSION['teste'] = $bla;  //header("teste.php");  ?>  <script language=javascript>location.href="teste.php?PHPSESSID=<?=$PHPSESSID;?>";</script>  <?break;}}?>

depois disso eu fiz assim e não funcionou igual

<?if (isset($_SESSION['teste'])) {echo "dentro";session_start();echo $_SESSION['teste'];}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes de fazer qualquer coisa com sessions você deve inicializar:

 

session_start();

 

$PHPSESSID é a ID da sessão criada no servidor sem ela não tem como identificar a sessão, ela é automática, dependendo do que está configurado no php.ini no parâmetro url_rewriter.tags

 

quando se usa location.href do javascript não é necessário colocar mas por precaução é melhor colocar, pois em alguns browsers dá pau, no IE5.5 por exemplo tem um bug que não escreve o PHPSESSID

Compartilhar este post


Link para o post
Compartilhar em outros sites

meu deus do céu felipe...para de fazer um pouco de perguntas leia... em php.net tem tudo.. se nao sabe pra que serve alguma coisa ou procura lá ou no google... procura tipo "pra que serve session php" você vai achar muita coisa... agora.. nao fique esperando que o pessoal fique lendo e arrumando o codigo pra você...

Compartilhar este post


Link para o post
Compartilhar em outros sites

meu deus do céu felipe...para de fazer um pouco de perguntas leia... em php.net tem tudo.. se nao sabe pra que serve alguma coisa ou procura lá ou no google... procura tipo "pra que serve session php" você vai achar muita coisa... agora.. nao fique esperando que o pessoal fique lendo e arrumando o codigo pra você...

Olha logo pelo comentário da para ver que se trata de um mangolão. Cara o forum serve para fazer pertuntas, não para fazer críticas. Outra coisa as pessoas perguntaõ coisas básicas aqui, e eu não fico me fazendo para responder, eu respondo na boa por que ja fui principiante no PHP e sei como e começar e ter que depender de idiotas como tu para tirar as dúvidas. Por isso respondo sem tirar onda. Outra coisa lógico que eu sei o que é uma sessão e não é essse o meu problema.

 

O problema é que migrei o servidor para uma versão mais nova do php e nada funciona, então se tu não tem nada para acresentar tu não posta e enche o db do imastres com mais um post besta teu, recolhe a tua insignificancia e naõ esqueça da velha fase:

"quem não ajuda não atrapalha"

Faça como eu quando as pessoas que sabem menos ou que estão tendo problemas, responda para elas assim como fizeram contigo quando tu tava iniciando seu prepotente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. achei que você tinha mandado só em particular...cara... como eu já disse.. eu nao queria ofender.. só disse pra você pesquisar antes de fazer um "combo" de perguntas... e em cima da resposta, fazer outra pergunta...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara como diz no terceiro post eu ja olhei o php.net e os exemplos não funcionarampor isso que eu disse que pode ser um problema de servidor e por isso que eu recori ao forum se tu não quis ofender tudo bem entao, mas é logico que eu pesquisei antes to a 2 semanas peaquisando e perdendo tempo com isso já tentar 500 versões de servidor diferente e nada seta sessão nessa p**** to perdendo tempo e ficnando louco

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.