PauloAta 0 Denunciar post Postado Setembro 13, 2003 Estou trabalhando num sistema de login que quando vou testar, aparece o seguinte erro:Warning: Cannot modify header information - headers already sent by (output started at /home/ataguias/public_html/teste/conexao.php:2) in /home/site/public_html/teste/logar.php on line 8Warning: Cannot modify header information - headers already sent by (output started at /home/ataguias/public_html/teste/conexao.php:2) in /home/site/public_html/teste/logar.php on line 9Warning: Cannot modify header information - headers already sent by (output started at /home/ataguias/public_html/teste/conexao.php:2) in /home/site/public_html/teste/logar.php on line 12Segue abaixo o codigo completo:Página que cadastra usuários: cadastro.php<?php include "conexao.php"; // verifica se o os dados foram enviados através do método POST if (getenv("REQUEST_METHOD") == "POST") { // encripta a senha para ser cadastrada na tabela $cod = md5($passen); // insere o registro pegando a senha criptografada no $cod $sql = "INSERT INTO membros (nome, email, login, senha) VALUES ('$nome', '$email', '$login', '$cod')"; mysql_query($sql); ?> <script>alert("Usuário cadastrado com Sucesso!!");</script> <?php } ?><span class="txt">Formulário para cadastrar o usuário </span> <form action="caduser.php" method="post"><p><span class="txt">Nome: </span> <input name="nome" type="text" id="nome"></p><p class="txt">Email: <input name="email" type="text" id="email"></p><p class="txt">Login: <input name="login" type="text" id="login"></p><p> <span class="txt">Senha: </span> <input type="text" name="passen"></p><p><br><input name="submit" type="submit" value="Enviar"></p></form>Página para fazer o login: logar.php<?php include "conexao.php"; if (getenv("REQUEST_METHOD") == "POST") { $cod = md5($passen); // pega o valor passado pelo form e criptografa $resultado = mysql_query("SELECT login, senha FROM membros WHERE login='$txtlog' AND senha='$cod'"); if (mysql_num_rows($resultado) > 0) { setcookie("logado", true); setcookie("usuario", $txtlog); // se o usuário existe vai para o arquivo lista_user (neste // lugar você coloca a página para onde o usuario irá se logado com sucesso header("Location:teste.php"); } else { ?> <script language="JavaScript"> <!-- window.alert("Usuário Não Identificado"); //--> </script> <?php } } ?> <html> <style type="text/css"><!--.txt {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;color: #000000;}--></style><body> <form action="logar.php" method="post" name="formlog"> <table border="1"> <tr> <td class="txt">Login:</td> <td><input type="text" name="txtlog"></td> </tr> <tr> <td class="txt">Senha:</td> <td><input type="text" name="passen"></td> </tr> <tr> <td colspan="2"><input type="submit" value="Logar"></td> </tr> </table> </form> </body> </html> Página que valida login: valida_logar.php<?php if (!$logado) { // se o usuario nao for cadastrado volta para a // página logar.php, não altere este código. header("Location: logar.php"); } ?> Página conexao.php<? $conexao=mysql_connect("localhost", "site", "senha"); mysql_select_db("site_membros"); ?> A página teste.php é uma página comum so pra verificar se o sistema funciona.Alguém poderia dar uma verificada e me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
ZehOliveira 0 Denunciar post Postado Setembro 14, 2003 Erro típico de quando se tenta alterar o cabeçalho da página (session, cookie, header,...) depois de enviado dados para o usuario! Observe que você já havia imprimido dados antes de usar a função setcookie()! Compartilhar este post Link para o post Compartilhar em outros sites