Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema De Login Senha Com Sessão


fsphp

Pergunta

Oi pessoal,

Estou com dificuldades em um sistema de login/senha usando session. Achei que estava funcionando mas o que estava acontecendo é que ele não estava filtrando os dados e direcionando qualquer login/senha para a área interna.

Refiz tudo, tentando não cometer nenhum erro, mas como sou iniciante, sempre tem algo que foge do meu entendimento.

Agradeço a força da galera.

A mensagem de erro que está dando é a seguinte:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/muralcultural/www/hospedagem/michi_dojo/login_cadastro_aluno_session.php:13) in /home/muralcultural/www/hospedagem/michi_dojo/login_cadastro_aluno_session.php on line 39

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/muralcultural/www/hospedagem/michi_dojo/login_cadastro_aluno_session.php:13) in /home/muralcultural/www/hospedagem/michi_dojo/login_cadastro_aluno_session.php on line 39

Warning: Cannot modify header information - headers already sent by (output started at /home/muralcultural/www/hospedagem/michi_dojo/login_cadastro_aluno_session.php:13) in /home/muralcultural/www/hospedagem/michi_dojo/login_cadastro_aluno_session.php on line 43

Eu cadastro os alunos com a página cadastro_aluno.php:

<html>

<head>

<title>Cadastramento do aluno</title>

</head>

<body>

<form name="form1" method="post" action="cadastro_aluno_resultado.php">

  <p> login_aluno :

    <input name="login_aluno" type="text" id="login_aluno" size="10" maxlength="30">

  </p>

  <p> senha_aluno :

    <input name="senha_aluno" type="text" id="senha_aluno" size="10" maxlength="30">

  </p>

  <p>

    <input type="submit" name="Submit" value="Enviar">

  </p>

</form>

</body>

</html>

Verifico se o banco de dados registrou o aluno em cadastro_aluno_resultado.php (sempre aparece os cadastrados):

<html>

<head>

<title>Documento sem t&iacute;tulo</title>

</head>

<body>

<?

$con = mysql_connect("mysql.meudominio.com.br", "meuusername", "minhasenha");

mysql_select_db("meubancodedados", $con);

mysql_query("INSERT INTO aluno VALUES ('$login_aluno', '$senha_aluno')") or die ("Não foi possível fazer a gravação!");

echo "Registro efetuado com sucesso!<br>";

echo "<a href=\"cadastro_aluno.php\">voltar</a>";

?>

</body>

</html>

Minha página principal é frame_principal.php, aqui eu tenho dois campos de formulário para inserir o login e a senha e, enviar essas variáveis para a página que verificará se estes estão cadastrados:

<html>

<head>

<title>index</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script language="JavaScript" type="text/JavaScript">

<!--

function MM_reloadPage(init) {  //reloads the window if Nav4 resized

  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {

    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}

  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();

}

MM_reloadPage(true);

//-->

</script>

<link href="muralcultural_teste_ycom.css" rel="stylesheet" type="text/css">

<LINK REL="SHORTCUT ICON" href="pip.gif">

</head>

<body background="gráficos/01_background_morihei.jpg" bgproperties="fixed">

INFORMAÇÕES DO SITE

     

      <div id="Layer8" style="position:absolute; left:647px; top:329px; width:113px; height:80px; z-index:9">

        <form name="form2" method="post" action="login_cadastro_aluno_session.php">

          <div align="center">

            <p class="verdana_vermelho_9_bold"><span class="verdana_az_esc_9_bold">*

              &Aacute;REA EXCLUSIVA *<br>

              Alunos Michi Dojo: <br>

              </span><span class="verdana_preta_9_normal">LOGIN:<br>

              </span>

              <input name="login_aluno" type="text" id="login_aluno" size="10" maxlength="30">

              <br>

              <span class="verdana_preta_9_normal">SENHA:<br>

              </span>

              <input name="senha_aluno" type="password" id="senha_aluno" size="10" maxlength="30">

              <br>

              <input name="enviar_senha2" type="submit" id="enviar_senha2" value="Enviar">

            </p>

          </div>

        </form>

      </div></td>

  </tr>

</table></body>

</html>

Página que verificará as variáveis e criará as variáveis super globais de sessão, login_cadastro_aluno_sessao.php:

<html>

<head>

<title>Login cadastro</title>

</head>

<body>

<?

$login_aluno = $_POST["login_aluno"];

$senha_aluno = $_POST["senha_aluno"];

// acesso ao banco de dados

include "conecta_mysql.php";

$resultado = mysql_query("SELECT * FROM aluno where login_aluno=$login_aluno' and senha_aluno='$senha_aluno'");

$linhas = mysql_num_rows($resultado);

if($linhas == 0) // testa se a consulta retornou algum registro

{

echo "<html><body>";

echo "<p align=\"center\">Usuário não encontrado!</p>";

echo "<p align=\"center\"><a href=\"frame_principal_novo_session.php\">Voltar</a></p>";

echo "</body></html>";

}

else {

if ($senha_aluno != mysql_result($resultado, 0, "senha_aluno")) // confere a senha

{

  echo "<html><body>";

  echo "<p align=\"center\">A senha está incorreta!</p>";

  echo "<p align=\"center\"><a href=\"frame_principal_novo_session.php\">Voltar</a></p>";

  echo "</body></html>";

}

else // usuário e senhas corretos. Vamos criar os cookies

{

  session_start();

  $_SESSION["login2] = $login_aluno;

  $_SESSION["senha2"] = $senha_aluno;

  // direciona para a página inicial dos usuários cadastrados

  header ("Location: frame_principal_novo_interno.php");

}

}

?>

</body>

</html>

Página de validação da sessão, valida_sessao.php

<?

session_start();

if(IsSet($_SESSION["login2]))

$login_aluno = $_SESSION["login2"];

if(IsSet($_SESSION["senha2"]))

$senha_aluno = $_SESSION["senha2"];

if(!(empty($login_aluno) OR empty($senha_aluno)))

{

include "conecta_mysql.php";

$resultado = mysql_query("SELECT * FROM aluno WHERE login_aluno=login_aluno'");

if(mysql_num_rows($resultado)==1)

{

  if($senha_aluno != mysql_result($resultado,0,"senha_aluno"))

  {

  unset ($_SESSION['login2]);

  unset ($_SESSION['senha2']);

  echo "Voce não efetuou o LOGIN!";

  exit;

  }

  }

  else

  {

  unset ($_SESSION['login2']);

  unset ($_SESSION['senha2']);

  echo "Voce não efetuou o LOGIN!";

  exit;

  }

}

else

{

  echo "Você não efetuou o LOGIN!";

  exit;

}

mysql_close($con);

?>

Página interna do site, com o include de validação de sessão, frame_principal_novo_interno.php

<?

include "valida_sessao.php";

?>

<html>

<head>

<title>index</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script language="JavaScript" type="text/JavaScript">

<!--

function MM_reloadPage(init) {  //reloads the window if Nav4 resized

  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {

    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}

  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();

}

MM_reloadPage(true);

//-->

</script>

<link href="muralcultural_teste_ycom.css" rel="stylesheet" type="text/css">

</head>

<p><a href="logout.php">LOGOUT</a></p>

<body background="gráficos/01_background_morihei.jpg" bgproperties="fixed">

INFORMAÇÕES DO SITE

     

    </td>

  </tr>

</table></body>

</html>

Valeu pessoal,

FS

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Tirei as tags html da página login_cadastro_aluno_sessao, mas deu a seguinte mensagem:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/muralcultural/www/hospedagem/michi_dojo/conecta_mysql.php:6) in /home/muralcultural/www/hospedagem/michi_dojo/login_cadastro_aluno_session.php on line 27

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/muralcultural/www/hospedagem/michi_dojo/conecta_mysql.php:6) in /home/muralcultural/www/hospedagem/michi_dojo/login_cadastro_aluno_session.php on line 27

Warning: Cannot modify header information - headers already sent by (output started at /home/muralcultural/www/hospedagem/michi_dojo/conecta_mysql.php:6) in /home/muralcultural/www/hospedagem/michi_dojo/login_cadastro_aluno_session.php on line 31

E aí, o que pode ser?

Obrigado,

FS

Link para o comentário
Compartilhar em outros sites

  • 0

Olá pessoal,

Agora consegui fazer com que funcionasse tudo só que tem um porém:

SE NÃO TIVER NADA PREENCHIDO EM LOGIN E SENHA, E A PESSOA SIMPLESMENTE CLICAR NO BOTÃO ENVIAR, ELE VAI PARA A PÁGINA INTERNA!!!!!!!! É MOLE?????

Se o nome tá errado, dá mensagem de erro. Se a senha está errada, dá mensagem de erro. Se não tem senha, dá mensagem de erro. Se tem senha e não tem nme, dá erro.

Mas se não tem nada e ele clica em entrar, ele entra!!!!

Dêem uma olhada, e me digam como posso resolver isso, certo?

Valeu pessoal,

FS

<?

// acesso ao banco de dados

include "conecta_mysql.php";

$resultado = mysql_query("SELECT * FROM aluno where login_aluno='$login_aluno'");

$linhas = @mysql_num_rows($resultado);

if($linhas == 0) // testa se a consulta retornou algum registro

{

echo "<html><body>";

echo "<p align=\"center\">Usuário não encontrado!</p>";

echo "<p align=\"center\"><a href=\"frame_principal.php\">Voltar</a></p>";

echo "</body></html>";

}

else {

if ($senha_aluno != mysql_result($resultado, 0, "senha_aluno")) // confere a senha

{

  echo "<html><body>";

  echo "<p align=\"center\">A senha está incorreta!</p>";

  echo "<p align=\"center\"><a href=\"frame_principal.php\">Voltar</a></p>";

  echo "</body></html>";

}

else // usuário e senhas corretos. Vamos criar os cookies

{

print "<script>location='frame_principal_novo_aluno.php'</script>";

}

}

?>

Coloquei o session_start na página valida_sessao.php:

<?

session_start();

$_SESSION["login2"] = $login_aluno;

$_SESSION["senha2"] = $senha_aluno;

if(IsSet($_SESSION["login2"]))

if(IsSet($_SESSION["senha2"]))

if(!(empty($login_aluno) OR empty($senha_aluno)))

{

include "conecta_mysql.php";

$resultado = mysql_query("SELECT * FROM aluno WHERE login_aluno=$login_aluno' and senha_aluno=$'senha_aluno'");

if(mysql_num_rows($resultado)==1)

{

  if($senha_aluno != mysql_result($resultado,0,"senha_aluno"))

  {

  unset ($_SESSION['login2]);

  unset ($_SESSION['senha2']);

  echo "Voce não efetuou o LOGIN!";

  exit;

  }

  }

  else

  {

  unset ($_SESSION['login2']);

  unset ($_SESSION['senha2']);

  echo "Voce não efetuou o LOGIN!";

  exit;

  }

}

else

{

  echo "Você não efetuou o LOGIN!";

  exit;

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, não acredito, eu acessei meu banco de dados e havia, não sei como, uma inclusão vazia, onde não havia nem lgin nem senha.

Só podia, né! Quando clicava em entrar ele localizava o "fantasma" no banco de dados.

Bem, parece que consegui, agradeço a força da galera,

FS

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...