Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

samirbh

[Resolvido] versão do apache e php

Recommended Posts

Pessoal meu sistema de login que na minha maquina funciona perfeitamente (php: 5.2.6 apache: 2.2.8)

e nor servidor (php: 5.2.3 apache: 2.0) não da certo.

 

isso tem alguma coisa a ver.

 

ja resolvi todos os erros que foram exibidos não escondi nada que que pode ser hem.

 

no aguardo galera.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a principio minha duvida não é com relação a como fazer tipo na parte de script é se as verçoes do php e apache tenhão resultado frustante com relação ao uso de sessão que todo sistema de login usa.

 

mesmo assim se precisar do script ponho ai pq isso ta me complicando muito vlw pela atenção....

Compartilhar este post


Link para o post
Compartilhar em outros sites

a principio eu acho que nao teria que haver complicacoes por causa da session .. tambem porque a diferença das versões nao eh algo tao grande tipo .. se você estive usando php5 e no servidor php4 .. mas as versoes que você tem sao proximas ... a guestao do script eh pq sempre bom da uma conferida mesmo ^^ .. mas.. tipo .. nao aparece nenhum erro ? ou algo isquisito ?

 

valww

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa é minha clase e o metodo que uso para login.

error_reporting(E_ALL);

class usuario

{

// faz o login e retorna um array com as informaçoes do usuario

public function loga($par1, $par2)

{

$par2 = md5($par2);

$sql = "select u.IdUsuario, u.Nome, u.Usuario, u.Pwd, g.Nome from Usuario u join Grupo g on

u.IdGrupo = g.IdGrupo where u.usuario = '".$par1."' and u.Pwd = '".$par2."'";

//echo $sql;

$query = mysql_query($sql);

//var_dump($query);

$numrows = mysql_num_rows($query);

if ($query == true and $numrows == 1)

{

$linha = mysql_fetch_array($query);

$iduser = $linha[0];

$nome = $linha[1];

$user = $linha[2];

$pwd = $linha[3];

$perfil = $linha[4];

$frase = "Perfil de ".$linha[1];

$dados = array(2, $iduser, $nome, $user, $pwd, $perfil, $frase);

return $dados;

}

else

{

$falha = 1;

return $falha;

}

}

}

esse é o codigo que altentica

if(isset($_POST['sair']))

{

session_destroy();

header("location: index.php");

}

if(isset($_POST['FIvai']))

{

include_once"conexão com o banco";

include_once"classe usuario";

$objdb = new banco();

$objuser = new usuario();

$user = $_POST['FIusuario'];

$pwd = $_POST['FIsenha'];

$login = $objuser->loga($user, $pwd);

//var_dump($login);

if ($login[0] == 2) //and $login[1] == $_POST['FIusuario'])

{

//session_start();

//echo 'lalala';

//$_SESSION['estado'] = 'ligado';

$_SESSION['idusuario'] = $login[1];

$_SESSION['nome'] = $login[2];

$_SESSION['usuario'] = $login[3];

$_SESSION['perfil'] = $login[5];

$_SESSION['frase'] = $login[6];

//header("location: index.php");

}

else

{

session_start();

$_SESSION['falha'] = 'Você não esta logado';

header("location: index.php");

}

}

e na index dou um include tipo area restrita um formulario de login só que para aparecer o link para logof ou esse formulario faço:

pagina index.php

 

//tipo no topo da pagina

ob_start();

$azdr001 = '';

//header("location: index.php");

session_start();

if(isset($_GET['logof']))

{

session_destroy();

header("location: index.php");

}

 

 

 

//e aqui é a parte que faz o login ou logof do cara

if($_SESSION['perfil'] == 'administrador' or $_SESSION['perfil'] == 'anunciante')

{

 

echo "<a href='index.php?logof=1'>logof</a>";

}

else

{

echo "<h2>Area restrita</h2>";

include_once"lgn.php";

}

é como teste de autenticação na pagina (para aparecer os links de administradores essas coisas)

 

if($_SESSION['perfil'] == 'administrador')

 

tipo como ja falei na minha maquina funciona normalmente

 

ha e a parte de segurança do post faço via uma função mas ja tirei para facilitar o processo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, nem li teu código, mas talvez tenha alguma coisa a ver com SHORT_TAGS... você usa <? ou <?php ? <?= ou <?php echo ??? Pode ser isto... De repente tua máquina tá configurada para ON e no servidor tá OFF...

 

É uma opinião, nem li teu código.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo que a pagina inicial faz uma pesquisa no banco creio que não tenha muito a ver não.

 

mesmo assim brigado pela atenção ae...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao entendi. Oque exatamente 'nao da certo' ??

oque eh isso:

include_once"conexão com o banco";
include_once"classe usuario";
? você removeu os arquivos so para postar aqui ? ou você roda o script assim mesmo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkkkkkkkkkkkk

nuss dexar nome de arquivo na net se for algo que eu possa evitar eu evito essa opnião não é quanto a você e sim quanto as pesquisas do gloogle e tal sei la gosto de confiar não.

 

cara tipo que não esta logando no servidor quanto na minha maquina esta logando funfando perfeitamente puts ta me matando de raiva.

 

mas vlw...

Compartilhar este post


Link para o post
Compartilhar em outros sites

que que eu faço caso ela esteja desabilitada?

 

vou procurar mais sobre o assunto, e nem teve como eu olhar com o pessoal da hospedagem porque o suporte funciona até as 20:00 ai eu je era neh mas ta valemdo mais um feriado programando e fazendo o melhor para o cliente vlw cara.

no aguardo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, verifique se o arquivo está recebendo os dados enviados pra logar, tipo os "usuário" e a "senha".

 

caso nao esteja enviando tem alguns jeitos:

 

procure uma função na net que habilita o "register globals" somente pro arquivo em questão

é o metodo mais seguro

ai tens q chamar o arquivo em cada arquivo q precisar da função ativa (require())

 

mas como eu sou preguiçoso:

Alguns servidores nao usam mais o arquivo de configuração ".htacess" e exigem o uso do "php.ini" caso queira alterar alguma coisana configuração do php

 

crie e envie um arquivo com o nome "php.ini" na pasta onde estrará o codigo do log-in

 

coloque isto nele:

 

register_globals = On

 

verifica lah

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altamente recomendado manter register_global em OFF. Se estiver em OFF e seu script estiver para ON, use os arrays $_GET, $_POST, $_SESSION.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

vai ser a primeira vez que não maior importancia para a segurança, puts cliente vai pular de alegria se der certo

 

bom vou copiar o que esta na minha maquina e botar no diretorio do site é isso? ou tem que ser bem la no diretorio da parte de login?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na pasta onde tem o arquivo q recebe o login

 

ai, você nao tá mandando o arquivo "php.ini" da instalação do PHP da sua máquina nao neh?

eh soh essa linha q precisa o resto eh descartavel, senao bagunça tudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é tentei fazer esse lance do php.ini e não deu certo então corri atraz da função ou algo similar ao que você falou em simular o registers_globals e no propio site do php tem um codigo que da suporte a isso.

<!-- Isto irá emular register_globals On. Se você alterou a sua diretiva variables_order, considere mudar $superglobals de acordo.-->
<?php

// Emular register_globals on
if (!ini_get('register_globals')) {
	$superglobals = array($_SERVER, $_ENV,
		$_FILES, $_COOKIE, $_POST, $_GET);
	if (isset($_SESSION)) {
		array_unshift($superglobals, $_SESSION);
	}
	foreach ($superglobals as $superglobal) {
		extract($superglobal, EXTR_SKIP);
	}
}
?>
entendi que se minha configuração do register_globals não estiver nula vai ser criada uma variavel do tipo array com varias posiçoes que cotenhão os super globais ai depois se minha sessão for valida (conter informações) ele coloca a superglobal de sessão no inicio do array criado anteriormente e o resto eu não entendi mas parece que ao invez de usar $_SESSION vou usar $superglobal.

em breve posto o resultado aqui galera hehe se der cert6o mais um script pra galera...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ha puts meu feriado não ta sendo de heroi não

 

galera que que eu faço como que uso esse codigo que passei agora pouco ou alguem sabe como que simulo a configuração para "EGPCS" do parametro variables_order.

 

ja tentei muita coisa o suporte da hospedagem hj não funciona af to pra la de complicado com o sistema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai galera é só usar a sessao normal quanto aquele codigo que eu falei fiz tipo assim:

 

na pagina de login deixei tudo normal porem ja com uma sessão ativa e o formulario o tranformei em uma string uma variavel e dava um include_once na minha index sendo que isso é a primeira coisa da index depois rodava auele trexo de codigo e usava a sessão normalmente.

 

assim que tiver tempo vou montar algo falando sobre como resolvi esse problema passo a passo e posto o link a dica perfeita foi:

simular registers_globals=on

 

muito obrigado a todos vlw galera...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.