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

Olhem O Pq Desse Erro...


Guest karlo

Pergunta

$_SESSION["$Nick"] = odbc_result($xTable, "nome");//AQUI ELE PEGA O NOME DA PESSOA

$_SESSION["$ID"] = odbc_result($xTable, "Id");//Aqui ele pega o CODIGO CHAVE

echo "MEU ID".$_SESSION["$ID"]; //Aqui ele exibe o codigo

echo "MEU NOME".$_SESSION["$Nick"];//Aqui ele exibe o nome

bom...esse codigo simples ta me dando até dor de cabeça já...seguinte...na ora em q eu mando exibir os ID E O NICK ta vindo a mesma coisa...

tipo, se o ID = 10 ele vai exibir:

MEU ID 10

MEU NOME 10..

perceberam...o nome nunca vem o nome realmente, ele vem o ID como sendo o valor do nome...tipo quando eu tiro a varivel como sendo de sessão ai não da problema ele exibe certinho...

MEU ID 10

MEU NOME KARLO..

só q quando eu coloco ele vem o ID...muito estranho, se alguém pude me ajuda

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Acho que sei o que está acontecendo... você definiu as variáveis "$ID" e "$Nick", que estão como chaves do array $_SESSION ??? Se não, você tem duas opções:

1- Usar aspas simples ao invés de aspas duplas ou usar aspas duplas escapar o cifrão:

$_SESSION['$ID'] ou $_SESSION["\$ID"];

2- Tirar o cifrão da chave do array, pra não confundir com variáveis de verdade (que eu aconselho):

$_SESSION['ID'] ou $_SESSION["ID"], dá na mesma

Falou!

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que sei o que está acontecendo... você definiu as variáveis "$ID" e "$Nick", que estão como chaves do array $_SESSION ??? Se não, você tem duas opções:

1- Usar aspas simples ao invés de aspas duplas ou usar aspas duplas escapar o cifrão:

$_SESSION['$ID'] ou $_SESSION["\$ID"];

2- Tirar o cifrão da chave do array, pra não confundir com variáveis de verdade (que eu aconselho):

$_SESSION['ID'] ou $_SESSION["ID"], dá na mesma

eu devo usar isso quando atribuo o valor a variavel de sessão, ou quando eu vou exibir o valor, ou nois dois....

Link para o comentário
Compartilhar em outros sites

  • 0

blzz...já consegui...valeu aee pessoal...o que tinha q faze era colocar aspas duplas com o cifrão tanto pra atribui quanto pra exibir e a otra variavel de sessão teria q usar aspas simples e com cifrão...

tava assim:

$_SESSION["$Nick"] = val1;

$_SESSION["$ID"] = val2;

e o resultado vinha como se as duas variaveis tivessem o mesmo valor..

agora fico assim...

$_SESSION["$Nick"] = val1;

$_SESSION['$ID'] = val2;

e o resultado vem certinho...

bom...deu certo, mais eu queria intende o porque q deu...se alguém puder me explicar onde ta a diferença entre o modo errado e o modo q deu certo ficaria grato...

tipo queria sabe tb pra economiza tópico o que muda das aspas simples para dupla...

Link para o comentário
Compartilhar em outros sites

  • 0

agora fico assim...

$_SESSION["$Nick"] = val1;

$_SESSION['$ID'] = val2;

Assim vai dar certo até você criar outro elemento pra esse array com aspas duplas... cara, a diferença é a seguinte:

- Com aspas simples, a string será formada exatamente pelos caracteres que você está vendo... você não precisa escapar nenhum caractere especial, exceto a própria aspas simples (caso contrário seria interpretado como o final da string).

- Com aspas duplas, todos os caracteres especiais serão interpretados, a não ser que você os escape com uma barra invertida "\". Inclusive as variáveis tb serão interpretadas... veja um exemplo:

<?php

$nome = "karlo";

echo "$nome"; // imprime karlo

echo '$nome'; // imprime $nome

?>

Entendeu o que está acontecendo? você tá usando como chave do array uma variável que não tá definida, então o PHP associa a ela um valor de string vazia automaticamente. Ele faz isso pra todas as variáveis indefinidas... e era por isso que, na primeira situação (aquela de quando você abriu o tópico), as variáveis de sessão tinham valores idênticos.

Até mais.

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...