Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas Com Variaveis


Halfar

Pergunta

bom, estou tendo um problemao com variaveis de sessao. Veja só:

$acesso_livre = $_GET["acesso_livre"];

$acesso_livre2 = $_GET[acessar_novamente_livre];

a variavel $acesso_livre2 retorna o valor "ok". Bem, isto está certo.

Agora veja só:

if($acesso_livre2 == "ok"){

$acesso_livre = "ok";

}

O problema é que a condicao não esta sendo respeitada, ou seja, o if está retornando falso, quando deveria ser verdadeiro, uma vez que a variavel $acesso_livre2 contem "ok"...

Porque isto ocorre? É problema com navegador ou é problema com provedor? Ou tem algum problema aí que não estou enxergando?

Já exclui cookies, já limpei o cache do navegador e nada...

O que poderia estar ocorrendo?

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Se o if está retornando falso é porque o $acesso_livre2 não contêm o valor de ok... e coloque assim:

$acesso_livre2 = $_GET["acessar_novamente_livre"]; (com as aspas)...

Coloque assim, só pra testar:

echo "O contéudo da variável acesso_livre2 é ".$acesso_livre2;

if($acesso_livre2 == "ok"){

$acesso_livre = "ok";

echo "verdadeiro";

}

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, este tipo de teste eu já fiz, mas de qualquer forma fiz o que sugeriu e continua o mesmo problema. Para ver isto mais de perto, clique aqui.

Irá carregar 3 frames, esquerda, superior e direita. No frame da direita clique no botao Acesso livre. Esta primeira parte está ok. O problema começa a ocorrer no segundo acesso. Então, agora faça uma seleção de tribunais e anos no frame da esquerda e clique no botão enviar. Note que irá aparecer os conteudas variaveis, assim:

O contéudo da variável acesso_livre2 é ok

acesso livre

acesso livre2ok

então note que o conteudo de acesso livre2 é ok.

E a condicao if não esta sendo respeitada:

if($acesso_livre2 == "ok"){

$acesso_livre = "ok";

echo "verdadeiro";

}

tá um misterio...

Link para o comentário
Compartilhar em outros sites

  • 0

O que apareceu aqui foi...

O contéudo da variável acesso_livre2 é

acesso livreok

acesso livre2

acesso pago

acesso pago2

Olhando o seu código fonte... o formulário está sendo envido pelo método POST... então porque você está usando $_GET?

EDIT, saquei...

Olha a sua URL:

http://www.diariodasleis.locaweb.com.br/Ju...acesso_livre=ok

Não existe nada com o índice: acessar_novamente_livre, logo $acesso_livre2 = $_GET["acessar_novamente_livre"] sempre está em branco...

Link para o comentário
Compartilhar em outros sites

  • 0

O Halfar tem esse motivo o qual o ESerra descreveu e pode ter cido também o motivo do valor "ok"

se o valor vier em minuscula ele funciona como mostra o código abaixo:

<form action="index.php" method="get">
   Nome: <input type="text" name="nome">
   
   <input type="hidden" name="acessoLivre" value="ok">
   <input type="submit" value="Enviar">
   </form>
   
   <hr>
   
   <?php
   $nome = $_GET['nome'];
   $acessoLivre = $_GET['acessoLivre'];
   
   if($acessoLivre == "ok") {
       echo "O usuário (".$nome.") tem acesso livre a está área? R=<b>".$acessoLivre."</b>";
       exit();
   } else {
       echo "O usuário (".$nome.") não tem acesso livre a está área? R=<b>privado</b>";
   }
   ?>
Mas se ele vier em maiuscula ele vai acusar um erro o exemplo abixo acusa um erro também
<form action="index.php" method="get">
   Nome: <input type="text" name="nome">
   
   <input type="hidden" name="acessoLivre" value="OK">
   <input type="submit" value="Enviar">
   </form>
   
   <hr>
   
   <?php
   $nome = $_GET['nome'];
   $acessoLivre = $_GET['acessoLivre'];
   
   if($acessoLivre == "ok") {
       echo "O usuário (".$nome.") tem acesso livre a está área? R=<b>".$acessoLivre."</b>";
       exit();
   } else {
       echo "O usuário (".$nome.") não tem acesso livre a está área? R=<b>privado</b>";
   }
   ?>

no meu caso eu estou passando os valores por um formulario né a forma de envio

mas como eu disse vai funcionar do mesmo jeito, com qual quer forma de envio.

qual quer duvida é so posta aqui no forum ok!

falows!!! B)

Link para o comentário
Compartilhar em outros sites

  • 0

não, não... talvez eu não tenha sido claro, na primeira vez que voce acessa (quando voce clica no botao Acesso livre) o resultado é este mesmo que voce mostrou. Isto está certo. O problema ocorre no segundo acesso (quando voce clica no botao enviar existente no lado esquerdo). aí comeca a confusao.

Rspondendo a sua pergunta, é que na realidade eu evito ao máximo de usar variaveis de sessao, procuro passar todas elas via links de formularios (se existirem), ou window.open (que é o caso, pois quando a pagina que lista as ementas é carregada eu utilizo window.open e aproveito e passo as variaveis pelo window.open). Então recupero as variaveis com GET. De fato ocorre assim:

É utilizado o método post para recuperar o valor do objeto existente na página 'x'. A página 'y' é que recupera este valor. Depois a página 'y' através de window.open continua encaminhando a variavel para outra página ... e assim vai... Então as vezes uso post, e as vezes uso get.

Link para o comentário
Compartilhar em outros sites

  • 0

po o link não ta funcionando aqui

mas tenta passar duas vezes o GET tipo atribui uma depois de atribuir e confirmar a primeira ela passa esse valor dela

para um hidden ai tu atribui novamente o formulario para validar o campo tenta isso ai me avisa

Editado por Diego.G.A
Link para o comentário
Compartilhar em outros sites

  • 0

E o seguinte você não entenderam que para acessar os dois acesso ele tem que passar com os doi parametros via GET ai ta o link que libera o acesso livre.

http://www.diariodasleis.locaweb.com.br/Ju...amente_livre=ok

Espera que vocês tenham entendido que eu to passando os dois parâmetros pela URL ai vai funcionar eu tinha dito antes mas aqui ta o código do link que a URL vai receber.

Ta ai velho coloca isso la que vai funcionar

Falows!!! B)

Link para o comentário
Compartilhar em outros sites

  • 0

enfim, o misterio foi revelado....

o problema é que a variavel $acesso_livre2 estava retornando um caracter em branco junto com o ok... ai foi só dar um trim para limpar os espacos em branco, e resolveu...

agora de onde veio este espaço em branco, sei lá...

obrigado a todos ai...

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...