• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

infopc

[RESOLVIDO] problema session

18 mensagens neste tópico

boas pessoal.

ja fiz varios sites com sessoes e nk tive este problema.

no meu servidor local o codigo que uso para criar as variaveis $_SESSION['user'] e $_SESSION['pass'] funciona perfeitamente alias sempre que usei funciona lol.

mas neste momento estou a fazer um freelancezito e estou a trabalhar no server da empresa.

OS CLIENTES N SABEM NADA DE PHP NEM SERVIDORES mas no entanto tem um servidor linux com php e mysql. este é o primeiro site deles dinamico dai terem me contratado.

problema grave: o servidor n deixa o site criar as variaveis $_SESSION['user'] e $_SESSION['pass'] qual sera o problema?

<?php 
include ("../php/ligacao.php");

if ($_GET['action'] == 'logout')
{
session_start();
session_unset();
session_destroy();
$_SESSION = array();
header("Location: ../index.php");
}
else
{
$user=mysql_real_escape_string($_POST['user']);// proteger contra ataques de SQL Injection
$pass=mysql_real_escape_string($_POST['pass']); // proteger contra ataques de SQL Injection

$busca='SELECT * FROM users WHERE user="'.$user.'" AND pass="'.$pass.'"';
$query_busca=mysql_query($busca,$ligacao); /*onde ligacao é a tua ligação a php*/

if (mysql_num_rows($query_busca)>0)
  {
   session_start();
   $_SESSION['user']=$user;
   $_SESSION['pass']=$pass;
   header("Location: ../demand.php");
  }
else
  {
   header("Location: ../index.php?login=false");
  }
}
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não tenho a certeza mas parece-me que deve ser algo na configuração no php, tenta copiar o teu php.ini local para esse servidor e ver se funciona

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

podes antes disso verificar se é mesmo disso fazendo <?php phpinfo(); ?> e vês se tens as sessões activadas nesse servidor.

Em Linux não sei como editas a configuração.

rgcaldas, em linux também existe o php.ini ? ou isso é só em windows ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

podes antes disso verificar se é mesmo disso fazendo <?php phpinfo(); ?> e vês se tens as sessões activadas nesse servidor.

Em Linux não sei como editas a configuração.

rgcaldas, em linux também existe o php.ini ? ou isso é só em windows ?

Existe em linux também.

Tive a pesquisar e podes utilizar a função ini_set() para alterar configurações em "run time"

http://pt2.php.net/manual/en/function.ini-set.php

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

rgcaldas, por acaso es das caldas da rainha?

vou tentar a função que me deste depois digo kker koisa

Sim sou

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema é que n da erros, simplesmente quando redireciona para a nova pagina é verificada a existencia das variaveis, e como estao vasias volta ao login.

axo k os erros tb estao desabilitados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não conheço a fundo todas as directivas do PHP, mas as que penso que possam influenciar estão OK (variable_order, register_globals).

Tenta comparar com o resultado do teu phpinfo.

Se não podes tentar ver o que se está a passar, podes usar a função isset(variável) para verificar a variável esta criada, isto para se perceber se o problema é a criar a variáveis ou com o seu conteúdo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lol eu ate queria mas n tenho acesso a ele

ha alguma forma de forçar?

Não tens acesso ao servidor ou ao php.ini?!?!? como é que metes os ficheiros no servidor? Quando fores meter os ficheiro no servidor metes os *.php mais o php.ini (este ficheiro pode estar no raiz do site). É assim que eu faço nos sites que tenho alojados, também não tenho acesso ao php.ini do alojamento mas posso meter o meu php.ini na raiz do meu site e já está.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Epa... a conversa está interessante mas eu quase que ponho a minha cabeça no sepo em como há bronca com o pedido à base de dados.

Isto é uma pratica de debugging simples que te deves habituar a usar:

comenta os redirecionamentos e envia o conteudo das variáveis para o output.

Eu quase que tenho a certeza que esse if que contem as atribuições das variaves de sessão não valida a sua condição de teste.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ola já tive um problema igual e a sulução foi está:

No ficheiro php.ini

Alterar esta linha (+/- 448)

register_globals = On

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

register_globals = On é o mesmo que meteres a cabeça na forca, só precisas que te deixem cair.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ppl desculpem a demora e n ter dado noticias, o problema foi resolvido tava mesmo na instalação da base de dados ela tava a rejeitar o acesso a partir do acesso deste site. n m perguntem pk pois n sei .

obrigado pelas respostas .

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora