Ir para conteúdo

POWERED BY:

Arquivado

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

Gelson Design

Verifica Login em PHP

Recommended Posts

criei a area restrita do meu site q estava funcionando normal quando coloco o usuario e senha ele vai para uma pagina chamada restrito.php so q dai quero fazer uma verificador de login e senha para que nenhum espertinho tente entrar direto na pagina restrito.phpaqui no meu computador funciona e no servidor não o ERRO que da é o seguinte Warning: Cannot modify header information - headers already sent by (output started at /home/gelson/public_html/restrito.php:11) in /home/gelson/public_html/verifica.php on line 17No arquivo RESTRITO.PHP eu coloquei um REQUIRE "VERIFICAR.PHP"e no arquivo VERIFICAR.PHP coloquei assim:<?phpob_start();?><html><head><title>Verificação de Usuario</title></head><body><?php// Verifica se existe os dados da sessão de loginif(!isset($_SESSION["id_usuario"]) || !isset($_SESSION["log_usuario"])){ // Usuário não logado! Redireciona para a página de login header("location:contatos.php");exit;}?></body></html><?phpob_end_flush();?>DESCULPA SE O LOCAL DO FORUM NÃO É O CERTO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, você deve ter um arquivo index.php que rece os includes nao?Pois é, as tags:<?phpob_start();?>e<?phpob_end_flush();?>Você deve coloca-las la no index que puxa os includes, assim como você fez nesse arquivo, aproveite e tire essas tag nesse arquivo que vocês está.Se der errado poste com mais detalhes como está os seus arquivos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

criei a area restrita do meu site q estava funcionando normal quando coloco o usuario e senha ele vai para uma pagina chamada restrito.php so q dai quero fazer uma verificador de login e senha para que nenhum espertinho tente entrar direto na pagina restrito.phpaqui no meu computador funciona e no servidor não o ERRO que da é o seguinte Warning: Cannot modify header information - headers already sent by (output started at /home/gelson/public_html/restrito.php:11) in /home/gelson/public_html/verifica.php on line 17No arquivo RESTRITO.PHP eu coloquei um REQUIRE "VERIFICAR.PHP"e no arquivo VERIFICAR.PHP coloquei assim:<?phpob_start();?><html><head><title>Verificação de Usuario</title></head><body><?php// Verifica se existe os dados da sessão de loginif(!isset($_SESSION["id_usuario"]) || !isset($_SESSION["log_usuario"])){ // Usuário não logado! Redireciona para a página de login header("location:contatos.php");exit;}?></body></html><?phpob_end_flush();?>DESCULPA SE O LOCAL DO FORUM NÃO É O CERTO

Você deveria eliminar todo o código html... deixar apenas o php... funcionaria bem.... OU Se não me engano essa função 'ob_start()' é pra que processe o que está dentro dela antes de todo o conteúdo.... se for isso... entre ob_start() e ob_end_flush() coloque só o código php, ou seja, esse if() com o header dentro... Mas eu usaria apenas o código php e nada de html... só uma questão de gosto

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade o codigo q eu tinha usado de inicio era este aqui <?php// Inicia sessõessession_start();// Verifica se existe os dados da sessão de loginif(!isset($_SESSION["id_usuario"]) || !isset($_SESSION["log_usuario"])){ // Usuário não logado! Redireciona para a página de login header("Location: contatos.html"); exit;}?>mas dai deu erro e eu so usei o ob_start(); por que o sistema de login so funcionou com ele não funcionou com o session_start dai eu pensei q poderia consertar com o ob_start() mas n deu agora recoloquei o codigo assima mas da o seguinte erroWarning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/gelson/public_html/restrito.php:11) in /home/gelson/public_html/verifica.php on line 2Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/gelson/public_html/restrito.php:11) in /home/gelson/public_html/verifica.php on line 2Warning: Cannot modify header information - headers already sent by (output started at /home/gelson/public_html/restrito.php:11) in /home/gelson/public_html/verifica.php on line 5

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gelson,

 

você deve colocar o ob_start(); e o ob_end_flush(); no arquivo que faz o require ou o include. Que no sue caso, seria o restrito.php.

 

Já tive esse erro, basta colocar o que eu falei nos arquivos que fazem os includes. Exemplo:

 

No meu caso, o arquivo index.php chama as páginas por includes, ou seja: index.php?ir=login

 

Esse exemplo, puxaria a página login.php mas as tags ob_start(); e ob_end_flush(); ficam no meu arquivo index.php no incío e no fim respectivamente. Exemplo:

 

<? ob_end_flush(); ?><html> <head>   <title>Página Index</title> </head> <body>  CONTEUDO DA PÁGINA QUE FAZ OS INCLUDES E ETC </body></html><? ob_end_flush(); ?>
Caso de errado, especifique mais como está organizada a estrutura do seu site.

 

Valeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta bom pessoal com a dica la do nosso amigo gustavo beleza ele esta verificando so q dai agora o login n ta passando pra paginda restrito.é assim que funciona:eu tenho uma paginda chamada contatos.php é nela que esta meu form para login de usuarioquando coloco o login e senha ele passa pra pagina restrito.php estava funcionando e agora parou que dica vcs podem me dar??valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae.... meu session não registra os valores...<?php include('conexao.php'); ?><?php$login = $_POST['login1'];$senha = $_POST['senha1'];$resultado = mysql_query("SELECT login, senha FROM dados WHERE login='$login' AND senha='$senha'",$conexao) or DIE (mysql_error());while ($linha = mysql_fetch_array($resultado)) { $login2 = $linha["login"]; $senha2 = $linha["senha"];}if ($login2 == $login AND $senha2 == $senha) { session_register(logado); session_register(identificado); header("Location: index.php");}else{ echo " <META HTTP-EQUIV=REFRESH CONTENT='0; URL=index1.php'> <script type=\"text/javascript\"> alert(\"Erro: Login ou senha invalidos.\"); </script> ";}?>ele pega certinho a if, mas não registra, fiz 1 teste:me logei, e mandei redimencionar para a index.phpna qualindex.php:<?session_start(); if ((!$logado) && (!$identificado)) { echo "Você esta deslogado";}?>

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.