Jump to content
Fórum Script Brasil
  • 0

Iniciar Session - Erro


pengo

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...