Jump to content
Fórum Script Brasil
  • 0

Problemas Com Variaveis


Halfar
 Share

Question

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 to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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

Edited by Diego.G.A
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.4k
×
×
  • Create New...