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

Iniciar Session - Erro


pengo

Pergunta

Boa tarde pessoal, vou tentar explicar meu problema de uma maneira breve.

Arrumei um código PHP, onde o usuário irá efetuar seu cadastro, e posteriormente ele poderá acessar sua área pessoal, e poderá alterar seus dados.

Bom o problema é, quando o usuário digita seu login e senha, ele entra numa área pessoal, mas nela não contém nada, é como se ele perdesse a Sessão.

Já verifiquei no Mysql, e o cadastro do usuário é feito corretamente. Quando vai fazer o login se digitar alguma coisa errada ele acusa que está errado, ou seja ele entra nessa área somente se os dados estiverem certos.

A sequencia de é a seguinte.

O usuario digita seus login e senha na arquivo login.php, que então é direcionado para o logar.php e se tudo estiver certo ele é redirecionado para area_vip.php e a para verificar a sessão do usuario é no verifica.php.

Bom não sou um experte em php, sei o basico, espero que tenham entendido o meu problema.

Segue abaixo os codigos.

login.php

<html>
<head>
<title>Documento sem título</title>
</head>

<body>
<form action="logar.php" method="POST">
<table width="483" align="center">
<tr>
<td width="60"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Usuário:</strong></font></td>
<td width="129"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="login" type="text" id="login" value="<?php echo $_POST['login']; ?>" size="20">
</font></td>
<td width="63"><div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Senha:</strong></font></div>
</td>
<td width="133"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="senha" type="password" id="senha" value="<?php echo $_POST['senha']; ?>" size="20" maxlength="10">
</font></td>
<td width="74"><div align="center"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input type="submit" value="Logar" name="entrar">
</font></div></td>
</tr>
</table>
</form>
</body>
</html>
logar.php
<?php
// obtém os valores digitados
$login = $_POST["login"];
$senha = $_POST["senha"];

// acesso ao banco de dados
include "configuracao.php";
$db = mysql_connect ($host, $login_db, $senha_db);
$basedados = mysql_select_db($database);

$resultado = mysql_query("SELECT login, senha FROM `$tabela` WHERE login='$login' AND senha='$senha'", $db) or print (mysql_error());
$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=\"login.php\">Voltar</a></p>";
                echo "</body></html>";
}
else
{
                if ($senha != mysql_result($resultado, 0, "senha")) // confere senha
                {
                                echo "<html><body>";
                                echo "<p align=\"center\">A senha está incorreta!</p>";
                                echo "<p align=\"center\"><a href=\"login.php\">Voltar</a></p>";
                                echo "</body></html>";
                }
                else   // usuário e senha corretos. Vamos criar os cookies
        {
                                session_start();
                $_SESSION['login'] = $login;
                $_SESSION['senha'] = $senha;
                // direciona para a página inicial dos usuários cadastrados
                header ("Location: area_vip.php");
        }
}

?>
area_vip.php
<?


session_start();
include_once("verifica.php");
session_checker();

include("configuracao.php");

$db            =    mysql_connect ($host, $login_db, $senha_db);
$basedados    =    mysql_select_db($database);

$usuario = mysql_query("SELECT * FROM `$tabela` WHERE login='$login'") or print (mysql_error());
while($linha = mysql_fetch_array($usuario)){
 $nomebanco = $linha["nome"];
}
?>
<html>
<head>
<title>Documento sem título</title>
</head>

<body>

<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Olá <b><? echo $nomebanco ?></b>,
você está acessando sua área VIP.<br>
<br>
Menu VIP : <a href="meus_dados.php">Meus Dados</a> - <a href="alt_dados.php">Alterar
Dados</a> - <a href="logout.php">Logout</a></font></div>
</body>
</html>
verifica.php
<?php

function session_checker(){

  if(!session_is_registered('login')){

  header ("Location:login.php");

  exit();

  }

}

?>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá Wilian,

Consegui resolver meu problema, andei pesquisando e agora a sessão é continua e agora cada usuario consegue ver os seus dados cadastrados, mas surgiu mais um problema.

Após o usuario efetuar o login, ele tem acesso a uma pagina onde ele pode alterar os seus dados, quando o usuario entra nela, ele consegue ver os seus dados e edita-los, mas quando clica para salvar os dados alterados, simplesmente a tela volta para os dados antigo, não fazendo nenhuma alteração nos dados do usuario.

Você saberia me indicar o que está errado no codigo???

<?php

include("configuracao.php");

$db            =    mysql_connect ($host, $login_db, $senha_db);
$basedados    =    mysql_select_db($database);

$usuario = mysql_query("SELECT * FROM `$tabela` WHERE login='$login'") or print (mysql_error());
while($linha = mysql_fetch_array($usuario)){
 $nomebanco = $linha["nome"];
 $cpfbanco = $linha["cpf"];
 $emailbanco = $linha["email"];
 $telbanco = $linha["tel"];
 $ocupbanco = $linha["ocup"];
 $mini01banco = $linha["mini01"];
 $mini02banco = $linha["mini02"];
 $mini03banco = $linha["mini03"];
 $mini04banco = $linha["mini04"];
 $kitbanco = $linha["kit"];
 $senhabanco = $linha["senha"];
}
?>
<?php
switch ($acao){
 case mod:
 conexao();

 $modificar = mysql_query("UPDATE `$tabela` SET nome='$nome', cpf='$cpf', email='$email', tel='$tel', ocup='$ocup', mini01='$mini01', mini02='$mini02', mini03='$mini03', mini04='$mini04', kit='$kit', senha='$senha' WHERE login='$login'") or print (mysql_error());
 print"
 <META HTTP-EQUIV=REFRESH CONTENT='0; URL=area_vip.php'>
 <script type=\"text/javascript\">
 alert(\"Atenção: Seus dados foram atualizados com sucesso. Aguarde enquanto você é redirecionado para sua area VIP!\");
 </script>
 ";
 fecha();
}
?>
<html>
<head>
<title>Documento sem t&iacute;tulo</title>
<script language="JavaScript">
function valida()
{
  if (document.cadastro.nome.value=="" || document.cadastro.cpf.value=="" || document.cadastro.email.value=="" || document.cadastro.tel.value=="" || document.cadastro.ocup.value=="" || document.cadastro.mini01.value=="" || document.cadastro.mini02.value=="" || document.cadastro.mini03.value=="" || document.cadastro.mini04.value=="" || document.cadastro.kit.value=="" || document.cadastro.senha.value=="")
  {
  alert("Todos os campos com asterisco são de preenchimento obrigatório!")
  return(false)
  }
  else
  {
  //document.form1.ok.value="sim"
  return(true)
  }
}

</script>
</head>

<body>

<div align="center">
  <form action="?acao=mod" method="post" name="cadastro" id="cadastro"  onSubmit="return valida();">
    <table width="522" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td height="20" colspan="2"><p align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>DADOS
                PESSOAIS</strong><br>
          </font></p>
        </td>
      </tr>
      <tr>
        <td width="145" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Nome
            completo:<font color="#FF0000">*</font></font></td>
        <td width="377" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
          <input name="nome" type="text" id="nome" value="<?php echo $nomebanco ?>" size="20" maxlength="40">
        (max. 40 digitos) </font></td>
      </tr>
      <tr>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">CPF:<font color="#FF0000">*</font></font></td>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
          <input name="cpf" type="text" id="cpf" value="<?php echo $cpfbanco ?>" size="20" maxlength="14">
        (max. 11 digitos) </font></td>
      </tr>
      <tr>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">E-mail:<font color="#FF0000">*</font></font></td>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
          <input name="email" type="text" id="email" value="<?php echo $emailbanco ?>" size="40" maxlength="40">
        (max. 40 digitos) </font></td>
      </tr>
      <tr>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Telefone:<font color="#FF0000">*</font></font></td>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
          <input name="tel" type="text" id="tel" value="<?php echo $telbanco ?>" size="20" maxlength="15">
        (max. 15 digitos) </font></td>
      </tr>
     <tr>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Ocupação:<font color="#FF0000">*</font></font></td>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
          <select name="ocup" id="ocup">
            <option value="<?php echo $ocupbanco ?>" selected><?php echo $ocupbanco ?>
            <option value="Estudantes UFMT">Estudante UFMT</option>
            <option value="Estudante Outros">Estudante Outros</option>
            <option value="Profissional">Profissional</option>
            <option value="Outros">Outros</option>
          </select>
        </font></td>
      </tr>

      <tr>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Mini-Curso 22/11/2011:<font color="#FF0000">*</font></font></td>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
          <select name="mini01" id="mini01">
            <option value="<?php echo $mini01banco ?>" selected><?php echo $mini01banco ?>
            <option value="A">A</option>
            <option value="B">B</option>
            <option value="C">C</option>
            <option value="D">D</option>
          </select>
        </font></td>
      </tr>

          <tr>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Mini-Curso 22/11/2011:<font color="#FF0000">*</font></font></td>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
          <select name="mini02" id="mini02">
            <option value="<?php echo $mini02banco ?>" selected><?php echo $mini02banco ?>
            <option value="E">E</option>
            <option value="F">F</option>
            <option value="G">G</option>
            <option value="H">H</option>
          </select>
        </font></td>
      </tr>
      
          <tr>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Mini-Curso 22/11/2011:<font color="#FF0000">*</font></font></td>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
          <select name="mini03" id="mini03">
            <option value="<?php echo $mini03banco ?>" selected><?php echo $mini03banco ?>
            <option value="I">I</option>
            <option value="J">J</option>
            <option value="K">K</option>
            <option value="L">L</option>
          </select>
        </font></td>
      </tr>
      
           <tr>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Mini-Curso 22/11/2011:<font color="#FF0000">*</font></font></td>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
          <select name="mini04" id="mini04">
            <option value="<?php echo $mini04banco ?>" selected><?php echo $mini04banco ?>
            <option value="M">M</option>
            <option value="N">N</option>
            <option value="O">O</option>
            <option value="P">P</option>
          </select>
        </font></td>
      </tr>
      
           <tr>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Mini-Curso 22/11/2011:<font color="#FF0000">*</font></font></td>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
          <select name="kit" id="kit">
            <option value="<?php echo $kitbanco ?>" selected><?php echo $kitbanco ?>
            <option value="Sim">Sim</option>
            <option value="Não">Não</option>
          </select>
        </font></td>
      </tr>

      <tr>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Nome
            de usu&aacute;rio:<font color="#FF0000">*</font></font></td>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
          <input name="login" type="text" disabled id="login" value="<?php echo $login ?>" size="20" maxlength="15">
        (max. 15 digitos)</font></td>
      </tr>
      <tr>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Senha:<font color="#FF0000">*</font></font></td>
        <td height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
          <input name="senha" type="password" id="senha" value="<?php echo $senhabanco ?>" size="20" maxlength="15">
        (max. 15 digitos) </font></td>
      </tr>
      <tr>
        <td height="20">&nbsp;</td>
        <td height="20"><input type="submit" name="Submit" value="Atualizar dados">
        </td>
      </tr>
    </table>
  </form>
</div>
</body>
</html>

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,3k
×
×
  • Criar Novo...