samirbh 0 Denunciar post Postado Junho 10, 2009 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
Will Fernando 2 Denunciar post Postado Junho 10, 2009 posta o script ... =] Compartilhar este post Link para o post Compartilhar em outros sites
samirbh 0 Denunciar post Postado Junho 10, 2009 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
Will Fernando 2 Denunciar post Postado Junho 10, 2009 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
samirbh 0 Denunciar post Postado Junho 10, 2009 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
Matias Rezende 50 Denunciar post Postado Junho 10, 2009 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
samirbh 0 Denunciar post Postado Junho 10, 2009 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
William Bruno 1501 Denunciar post Postado Junho 10, 2009 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
samirbh 0 Denunciar post Postado Junho 10, 2009 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
henry franklin 0 Denunciar post Postado Junho 10, 2009 ai samir! verifica se o server tah com "register globals" ativo Compartilhar este post Link para o post Compartilhar em outros sites
samirbh 0 Denunciar post Postado Junho 10, 2009 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
henry franklin 0 Denunciar post Postado Junho 11, 2009 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
Matias Rezende 50 Denunciar post Postado Junho 11, 2009 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
samirbh 0 Denunciar post Postado Junho 11, 2009 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
henry franklin 0 Denunciar post Postado Junho 11, 2009 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
samirbh 0 Denunciar post Postado Junho 11, 2009 é 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
samirbh 0 Denunciar post Postado Junho 11, 2009 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
samirbh 0 Denunciar post Postado Junho 12, 2009 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