Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema com uso da session

25-04-2010 21:53

Olá. Tenho uma parada pra resolver e não consigo. É o seguinte. Tenho um sisteminha de pedido. Na página home tem lá os produtos com um botão pedido. Clico para pedir então se eu não estiver logado, dá uma msg que tenho que me logar. Beleza faço o login e fico logado. Daí quando vou fazer o pedido novamente (mesmo logado) ele dá a mesma msg. Não sei onde está errado.
No servidor local funcionou corretamente, publicado dá esse problema.
Vou colocar os códigos das páginas abaixo para verem:

Um dos problema que vi é que na página insert.php o ID do cliente pela session retorna a primeira letra do nome do cliente e não o id. Isso também publicado na web, no local funciona corretamente.
código retirado, expecifique o trecho exato no documento
É isso aí.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com uso da session

25-04-2010 22:16

Tenta especificar melhor o erro, em que página ocorre exatamente o problema.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema com uso da session

25-04-2010 22:28

Pois é. Aí que tá o problema. Não sei exatamente onde está o erro. Até pq no local funciona tudo certo.

O que acontece é que só posso fazer pedido logado.
Então quando clico no botão pedido (carrinho), ele diz que eu tenho que me logar.
Beleza.
Faço o login, tudo certo. Inicia a sessão com o meu nome de cliente vindo do banco.
Então agora teoricamente se eu for fazer um pedido clicando no botão, o correto seria adicionar ao carrinho, já que estou logado.
Mas não acontece. Mesmo logado, ele pede novamente para eu fazer o login.
E também no meio disso tudo, tem o pedido que também é criado para controle.
São suas sessões, cliente e pedido que tem no código.
É isso.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com uso da session

25-04-2010 22:43

A solução mais direta é você aplica echo, ao invés de executar alguma ação, assim você vê se determinado valor chegou de forma correta.

Esse problema de perder valor, pode ocorrer por não uso de limitadores ( aspas ) em variáveis, ou inputs.

ERRADO
$valor = $isso;
<input type=text name=valor value=$valor>

CORRETO
$valor = "$isso";
<input type="text" name="valor" value="$valor">
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema com uso da session

25-04-2010 22:49

Certo. Vou dar uma olhada nisto. Mas pode ocorrer de funcionar corretamente no servidor local e na web dar pau?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com uso da session

25-04-2010 22:52

Dependendo do servidor local que tenha, algumas vezes deixamos algum erro que o servidor acaba aceitando, ai quando vamos testar online dá erro.

Também tem que observar a questão das funções, que algumas são bloqueadas pelos servidores online, por questão de segurança, uso de scripts em PHP4, rodando em um PHP5, sem suporte.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema com uso da session

25-04-2010 23:07

Quanto a estas funções bloqueadas, como faço para saber isso?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com uso da session

25-04-2010 23:11

Usa o phpinfo(). Todas as informações sobre o PHP podem ser obtidas por ele.

Roda um arquivo com o seguinte:

<?php phpinfo(); ?>

Não deixe também de fazer uma verificação nos dados que são enviados, como indiquei acima, verificar aspas, etc...
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema com uso da session

25-04-2010 23:22

Certo. Abriu uma tripa de coisa aqui. hehe.
E agora? como vejo se tem bloqueios nisso tudo?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com uso da session

26-04-2010 08:09

Como você não passou um documento específico, passei para que você veja se tem alguma função que está usando e que possa estar bloqueada.

Mas, o melhor mesmo então é você fazer um passo a passo no script, como te indiquei, para ver onde o valor está se perdendo.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema com uso da session

26-04-2010 13:00

Acho que encontrei o erro.
Neste código.
$sql = "SELECT * FROM cliente WHERE login='$txt_login' AND senha='$txt_senha' AND uf='$estado'"; $qry= mysql_query($sql); $linha = mysql_fetch_array($qry); if(mysql_num_rows($qry) > 0) { $cliente['ID'] = $linha['id_cliente']; $cliente['NOME'] = $linha['cliente']; $cliente['EMPRESA'] = $linha['empresa']; $cliente['CNPJCPF'] = $linha['cnpjcpf']; $cliente['ENDERECO'] = $linha['endereco']; $cliente['NUMERO'] = $linha['numero']; $cliente['BAIRRO'] = $linha['bairro']; $cliente['CEP'] = $linha['cep']; $cliente['CIDADE'] = $linha['cidade']; $cliente['UF'] = $linha['uf']; $cliente['FONE'] = $linha['fone']; $cliente['EMAIL'] = $linha['email']; $cliente['LOGIN'] = $linha['login']; $cliente['SENHA'] = $linha['senha']; $_SESSION['cliente'] = $cliente;

Na outra página quando chamo a session,
Se eu fizer um echo na $_SESSION['cliente'], resultado no nome do cliente.
Mas não consigo mostra o ID. Ele resulta na primeira letra do nome.

Como faço para pegar o ID neste caso?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com uso da session

26-04-2010 14:19

Já tentou?

echo $cliente['ID'];
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema com uso da session

26-04-2010 14:21

Esqueci de falar no outro Post.
Tento chamar a ID assim:
$_SESSION['cliente']['ID'];

Não rola, me retorna a primeira letra do nome do cliente.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com uso da session

26-04-2010 14:34

Você não criou essa session. Tem que ser como falei, ou ID ou cliente.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema com uso da session

26-04-2010 17:03

Engraçado que localmente ele passa essa bagaça.
Tipo seu colocar

$sql = "SELECT * FROM cliente WHERE login='$txt_login' AND senha='$txt_senha' AND uf='$estado'"; $qry= mysql_query($sql); $linha = mysql_fetch_array($qry); if(mysql_num_rows($qry) > 0) { $cliente['ID'] = $linha['id_cliente']; $cliente['NOME'] = $linha['cliente']; $cliente['EMPRESA'] = $linha['empresa']; $cliente['CNPJCPF'] = $linha['cnpjcpf']; $cliente['ENDERECO'] = $linha['endereco']; $cliente['NUMERO'] = $linha['numero']; $cliente['BAIRRO'] = $linha['bairro']; $cliente['CEP'] = $linha['cep']; $cliente['CIDADE'] = $linha['cidade']; $cliente['UF'] = $linha['uf']; $cliente['FONE'] = $linha['fone']; $cliente['EMAIL'] = $linha['email']; $cliente['LOGIN'] = $linha['login']; $cliente['SENHA'] = $linha['senha']; $_SESSION['cliente'] = $cliente;

E depois dar um
echo $_SESSION['cliente']; //Retorna o nome do cliente. echo $_SESSION[cliente']['ID'];// retorna o id do cliente.

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com uso da session

26-04-2010 18:35

Para pegar só o id teria que ser

echo $_SESSION['ID'];// retorna o id do cliente.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema com uso da session

26-04-2010 18:54

Cara, quando uso echo $_SESSION['ID']; me retorna "Array".
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com uso da session

26-04-2010 19:06

Veja esse exemplo

<?php session_start(); // simulando o while $_SESSION['ID'] = "abc"; echo $_SESSION['ID']; ?>

Vê ai é um exemplo simples, se baseia por ele.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema com uso da session

26-04-2010 20:55

Cara, encontrei o erro.
Me deu uma vontade de chutar tudo aqui de raiva de mim mesmo. hehehe.
Eu incluo o cabeçalho do site por um include e dentro deste infeliz tinha um select, que usei para testar outra coisa já faz um tempinho.
E adivinha, não sei nem pq, msa tirei o infeliz fora e o restante do código funcionou corretamente.

Vou até de passar o tal select aqui para você dar uma olhada.
E lá vai a pergunta.
Poderia estar dando conflito com as outras informações que te passei até agora por causa deste mardito?

$sql = "SELECT * FROM cliente"; $qry = mysql_query($sql); while ($linha = mysql_fetch_array($qry)){ $cliente = $linha['cliente']; $estcliente = $linha ['uf']; } ?>

Muito obrigado pela ajuda e desculpe pela burrice. Aprendiz é bucha.
Até mais.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com uso da session

26-04-2010 21:17

Aparentemente está normal. Ele poderia estar interferindo, se tiver outra consulta no restante do código com o mesmo nome de variável usada nesse. Também se ele for colocado antes do session_start(), porque essa deve ser a primeira linha do documento.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Bing [Bot]