grasi 0 Denunciar post Postado Novembro 17, 2004 Estou com outro programa, um pouquinho mais sofisticado de autenticação de usuário, funcionou mas na hora que loga e vou no link de logout dá a msg de erro: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Bom, vamos aos códigos: login.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>LOGIN</title> </head> <body> <form name="form1" method="post" action="login.php"> <p>Login: <input name="login" type="text" id="login"></p> <p>Senha: <input name="senha" type="text" id="senha"></p> <p><input type="submit" name="Submit" value="Enviar >>"></p> </form> </body> </html> login.php <?php //obtem os valores digitador $login = $_POST["login"]; $senha = $_POST["senha"]; //acessa ao banco de dados $cn = mysql_connect("localhost", "", ""); mysql_select_db("ProjHansen_v97"); $resultado = mysql_query("select * from usuarios where login = '$login'"); $linhas = mysql_num_rows($resultado); if ($linhas ==0)//testa se a consulta retornou algum registro { echo "Usuário não encontrado"; echo "<a href=login.html>logar</a>"; } else { if ($senha != mysql_result($resultado, 0, "senha"))//confere a senha { echo "Usuário não encontrado"; echo "<a href=login.html>logar</a>"; }else{//usuario correto.. vamos criar os cookies com sessions... session_start();//nunca esqueça de por isso antes de usar session $_SESSION["login_usuario"] = $login; $_SESSION["senha_usuario"] = $senha; // redireciona par a pagina principal header("Location: pagina_principal.php"); } } mysql_close($cn); ?> valida_session.php <?php session_start(); if (isset($_SESSION["login_usuario"]) AND isset($_SESSION["senha_usuario"])) { $login_usuario = $_SESSION["login_usuario"]; $senha_usuario = $_SESSION["senha_usuario"]; }else{ echo "Você não efetuou o login."; exit();/*caso nao tinha session.. quer dizer.. ele nao logou*/ } /*aqui primeiro ele checa para ver se exite essas Sessoes, e depois ele coloca o valor das sessoes nessas variaveis... para fazermos os testes!*/ if(!(empty($login_usuario) OR empty($senha_usuario))) { //acessa ao banco de dados $cn = mysql_connect("localhost", "", ""); mysql_select_db("ProjHansen_v97"); $resultado = mysql_query("select * from usuarios where login = '$login_usuario'"); if (mysql_num_rows($resultado) == 1)/*caso exista esse login.. vamos testar a senha entao*/ { if ($senha_usuario != mysql_result($resultado, 0, "senha")) { unset ($_SESSION["nome_usuario"]);/*apaga a session que existia mas era errada..*/ unset ($_SESSION["sehna_usuario"]); echo "Você não efetuou o login."; exit(); } }else { unset ($_SESSION["nome_usuario"]); unset ($_SESSION["sehna_usuario"]); echo "Você não efetuou o login."; exit(); } }else{ echo "Você não efetuou o login."; exit();/*caso das sessions estarem vazias*/ } mysql_close($cn); ?> pagina_principal.php <?php include "valida_session.php"; ?> <html> <body> Seja bem vindo ao site!!!<br>Coloque o conteudo aqui!!! <br><br><br> <a href="lougout.php">Logout</a> </body> </hmtl> logout.php <?php session_start(); $_SESSION = array(); session_destroy(); header("Location: login.html"); ?> qualquer ajuda é mais do que bem vinda. Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Novembro 17, 2004 Uhnn, Erro no IIS... Bem, Não uso IIS, mas, em logout.php, deixa assim: PHP [/tr][tr]<?phpsession_start(); session_destroy(); header("Location: login.html"); ?>[/tr] Compartilhar este post Link para o post Compartilhar em outros sites
grasi 0 Denunciar post Postado Novembro 17, 2004 Continuou com o mesmo erro.Eu uso é apache + windows 98 + mysql Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Novembro 17, 2004 Afff, mosquei, Apache!!! hehehe http://forum.imasters.com.br/public/style_emoticons/default/blush.gif f*** desse tipo de erro q este não é especifico, ou seja, ñ fala onde e pq está ocorrendo, assim, fica mto global. Já tive essa msm msg de erro, postando dados, ñ sei pq até hj!!! heheheh Mas, enfim, passe os passos realizados, exatamente, pra mim tentar analizar melhor o script, mas preciso saber onde este ocorre, por isso preciso dos passos, ou seja, oq você fez para este ocorrer, pra ficar mais fácil... Remove o session_destroy e deixa só o unset, no lugar dele e testa, tbm. Ah, ve o q está falando no log do Apache, tbm... Compartilhar este post Link para o post Compartilhar em outros sites
jompaulo 0 Denunciar post Postado Novembro 20, 2004 Está dando erro porque no arquivo pagina_principal.php você colocou <a href="lougout.php">Logout</a> O correto seria: <a href="logout.php">Logout</a> Compartilhar este post Link para o post Compartilhar em outros sites
grasi 0 Denunciar post Postado Novembro 20, 2004 xD muito obrigada pela dica, corrigi o nome do arquivo que chama no link e funcionou perfeitamente! nossa, as vezes é cada erro besta que eu cometo..... Compartilhar este post Link para o post Compartilhar em outros sites