Ir para conteúdo

POWERED BY:

Arquivado

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

habibe

Sistema de Login em PHP 4

Recommended Posts

Tenho este Codigo, e gostaria que passasse para o php 4.3.1

COmo posso fazer?

 

<?php//inicia a sessaosession_start();   //chave secreta - modifique a vontade$CHAVE_SECRETA = "133dde6a93c3205abf91c73100e7517d";session_register("login");session_register("senha");function Autenticar($login,$senha){  //pegamos as variaveis globais p/ usarmos na funcao  GLOBAL $HTTP_SERVER_VARS, $CHAVE_SECRETA, $usuario;  $cone=mysql_connect($host,$login,$senha) or die ("Não foi possivel conectar");  mysql_select_db($banco,$cone) or die ("Não foi possivel selecionar o bando de dados");  $sql = "SELECT * FROM cliente where login = '$login' AND senha = PASSWORD('$senha')";  $qconsulta=mysql_query($sql,$cone) or die ("Nao foi possivel realizar a consulta");  $query = mysql_query($sql);  if (mysql_num_rows($query) == 1)    {   /* pega dados p/ gerar a chave publica */         $user = mysql_fetch_object($query);         $ip   = $HTTP_SERVER_VARS["REMOTE_ADDR"];         $hora = time();                  /* gera a chave e guarda as informacoes na sessao */         $chave = md5($user->nome . $CHAVE_SECRETA . $ip . $hora);         $usuario = array($user->nome,$hora,$chave);                  session_register("usuario");         return 1;    }         else	echo '<script LANGUAGE="JavaScript"> alert("Usuário não encontrado!"); </SCRIPT>';	session_unregister("login");	session_unregister("senha");         return 0;}function Logado(){    GLOBAL $HTTP_SERVER_VARS, $HTTP_SESSION_VARS, $CHAVE_SECRETA;          $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];    list($nome,$hora,$chave) = $HTTP_SESSION_VARS["usuario"];          //chave nao combina    if($chave != md5($nome . $CHAVE_SECRETA . $ip . $hora))         return 0;        //desloga por inatividade tbm     if($hora + (15 * 60) < time())         return 0;             //atualiza o horario de acesso    $hora = time();        //recria a chave         $chave = md5($nome . $CHAVE_SECRETA . $ip . $hora);        $usuario = array($nome,$hora,$chave);    $HTTP_SESSION_VARS["usuario"] = $usuario;        return 1;}    //usuario ainda nao logou    if(!session_is_registered("usuario"))    {         //tentando logar          if(isset($HTTP_POST_VARS["login"]) && isset($HTTP_POST_VARS["senha"]))         {              $login = $HTTP_POST_VARS["login"];              $senha = $HTTP_POST_VARS["senha"];                            if(Autenticar($login,$senha))              {                              }              else              {                   echo '<script LANGUAGE="JavaScript"> alert("Não foi possivel autenticar, tente novamente!"); </SCRIPT>';              }         }    }    //usuario logado - certeza?    else    {         //usuario fajuto ou tempo limite expirado         if(!Logado())         {               echo '<script LANGUAGE="JavaScript"> alert("Usuário desconectado por tempo de inatividade!"); </SCRIPT>';            session_unregister("usuario");   }    }?>        

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problemas é o seguinte:Eu estava hospedando em um servidor que tinha suporte a php antigos, e este script funcionava direitinho. Ele faz o seguinte. Após você digitar seu login e senha em uma página, ele procura, atraves deste script se o usuario esta registrado e mostra a seguinte mensagem: "Bem vindo usuario" bem no inicio da página. Se não estiver cadastrado, aparece uma mensagem de erro tipo "usuario nao encontrado" e você clicka ok! e volta a pagina com os campos de login e senha para digitar. Entendeu? se não acesse www.baladacafe.com para visualizar.Oq acontece é que no servidor que estou hospedando agora, só dá suporte ao php 4.3.1 e este script não funciona nele. Primeiro ele diz que é impossivel dar "session_start();"depois, se você tirar este session_start(), session_register("usuario");session_unregister("login");session_unregister("senha");session_unregister("usuario");ele consegue logar, porém, não registra em GLOBALS. pq se você muda de página, ele aparece que você não esta logado.Isso que acontece. Por favor qual seria o problema?

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.