Ir para conteúdo

POWERED BY:

Arquivado

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

juliano.ma

[Resolvido]  com session

Recommended Posts

Pessoal,

 

onde que eu estou errando nesse código?

 

eu tenho um form pra setar uma $var e quero que ela sempre esteja ativa, ate que seja redefinido o seu valor.

 

OBS: Meu form está na mesma página, ela apenas atualiza.

 

 

eu coloquei session_start() na primeira linha.

 

<?

$valor = $_POST['valor'];
session_register('valor');



if (!session_is_registered('valor')) {
   session_register('valor');
   $valor2 = $_SESSION['valor'];
}
else {
   $valor2 = "não foi registrada a session";

echo $valor2;

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aew Jualiano beleza...

 

Entaum evite de usar SESSION_REGISTER('valor'); pq poder estar desabilitada no register_glogals daew naum funfa msm...

 

Utilize desta maneira e assim funfa direitim:

 

<?php

session_start();

// Grava os dados na Sessão

$valor = $_POST['valor'];

$_SESSION['valor']= $valor;

if(!isset($_SESSION['valor']))

{

echo $_SESSION['valor'];

}

else

{

echo 'Sessão naum setada.';

}

?>

Espero que eu tenha ajudado...

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre, obrigado por ter respondido.

 

testei aqui e so deu"Sessão naum setada".

 

no form para apenas para dar reload, eu uso como? vazio mesmo?

 

olha como ele está:

 

<form name= "set_valor" method="post" action="" id="set_valor">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se fizer isso vai gerar erro de header, coloque o código PHP em cima do form, assim:

 

<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
session_start();
// Grava os dados na Sessão
$valor = $_POST['valor'];
$_SESSION['nome']= $valor;
if(isset($_SESSION['nome'])){
echo $_SESSION['nome'];
}
else{
echo 'Sessão naum setada.';
 }
}
?>
<form name="teste" action="" method="POST">
Valor: <input type="text" name="valor" /><br />
<input type="Submit" name="ok" value="Enviar" />
</form>
Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alaerte, obrigado por ter respondido!

 

do jeito que você ensinou deu certinho quando se está na mesma página.

 

Enquanto não muda na url ela está lá registrada bonitinha, dou refresh e continua lá....

 

 

o form está na página "produtos" e também tem um combo box que lista os produtos que estão no banco de dados.

 

o form sempre vai estar lá pra quando o usuario do site quiser alterar o valor da variável $_POST[valor];

 

mas, quando seleciono um produto que está na lista ai a session aparece como não setada.

 

outro exemplo: se eu estiver com um produto selecionado e setar um novo valor para a session ele dá o refresh e a session continua registrada, mas se escolher outro produto na combo ai a session some.

Compartilhar este post


Link para o post
Compartilhar em outros sites

alaerte,

 

você tinha razão quanto ao erro de header, agora sim está funcionando belezinha.

 

O que estava ocorrendo era que ele sempre estava pegando o valor do post, bastou colocar a parte que vemdo post dentro do if que funcionou

 

if($_SERVER['REQUEST_METHOD']=='POST'){

 

no caso acima, ele só pega valores do post quando se aplica o form.

 

olhem como ficou:

 

<?php

//-----------------------------------------
//aqui ele só lê se eu aplicar o form.
if($_SERVER['REQUEST_METHOD']=='POST'){
session_start();
$valor = $_POST['valor'];
$_SESSION['valor']= $valor;
}
//----------------------------------------


//aqui ele lê sempre
session_start();
if(isset($_SESSION['valor'])){
$valor1 = $_SESSION['valor'];
}
else{
$valor1 = 1;
}
?>

 

extremamente agradecido!

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.