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

(Resolvido) Gravar Login e Senha Cookie


DeeKilleer

Pergunta

Galera.

Eu quero gravar login e senha em Cookie para que não precise logar novamente depois que sair da página, com exceção de Logout.

Eu tenho a página Index, onde eu peço login e senha. Eu quero que ae tenha a opção, "Gravar Sessão?" num check box, se for marcado quero que grave num COOKIE por 24 horas. Dae não precisa logar mais.

<form method="post" name="frm" id="frm" action="login.php" onsubmit='return Verifica(this)'>
<table border='0' height='90%' cellpadding='0' cellspacing='0' width='100%'>
    <tr>
          <td align='center' valign='center'>
<table width="450" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#29166f" style="font-family:Verdana, Arial, Helvetica, sans-serif">
          <tr>
            <td colspan="3" align="center" bgcolor="#29166f" style="font-family:Verdana, Arial, Helvetica, sans-serif; color:#FFFFFF"><span><b>..:: SALCAM -  Sigla Digital ::..</b>
            </div>
            </span> </td>
          </tr>
	  <tr>
	         <td>
	  <table width="100%" border="0" cellpadding="0" cellspacing="0">
          <tr style="font-size:12px">
          	<td colspan="3" align="center" bgcolor="#FFFFFF"><br>
              Para poder fazer logon &eacute; necess&aacute;rio informar o login e senha.<br><br>
            </td>
          </tr>
           <tr>
	<td align="center">
	<table width="450" border="0" align="center" cellpadding="1"  cellspacing="0" bordercolor="#0000FF" style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12">
          <tr bgcolor="#EEEEEE">
           <td align="right" valign="middle">
	<div id="dv1" style="display:block"><font color="#000000" size="2" face="verdana"> Login: </font></div>
	   </td>
            <td align="right" valign='center'><div align="left">
              <input type="text" name="login" id="login" size="18" maxlength="18" value='' onFocus="campoTexto(this,1)" onBlur="campoTexto(this,0)">

            </div></td>
          </tr>
          <tr bgcolor="#EEEEEE">
            <td width="173" align="right"><font color='#000000' face='verdana' size="2">
Senha:</font></td>
            <td width="273">
	<input name="senha" id="senha" type="password" size="8" maxlength="10" onkeypress='return SomenteNumero(event)' value='' onFocus="campoTexto(this,1)" onBlur="campoTexto(this,0)"></td>
          </tr>
          <tr>
            <td colspan="2" align="center"><input type="submit" name="Submit" value="Entrar"></td>
          </tr>
        </table>
	</td>
	 </tr>
	</table>
	</table>
	</td>
	</tr>
</table>
</form>
E tenho a pagina LOGIN.PHP e VALIDA_SESSAO.PHP LOGIN.PHP
$sql_login = "select apelido,funcionario_codigo from funcionarios where apelido = '$login' and funcionario_codigo = '$senha'";
     $exe_login = mssql_query($sql_login);
     $lin_login = mssql_fetch_array($exe_login);
     
     if(empty($login) | empty($senha))
     {
        echo "<center>
        <font face='verdana' size=2><br><br><br>Campos Vazios<br>Obrigatório o Preenchimento de Todos os Campos<br><br>
        <a href='java script:history.go(-1)'>Voltar Para a Tela de Login</a>";
     }
     
     else
     {               
         if($login == $lin_login['apelido'] & $senha == $lin_login['funcionario_codigo'])
         {
            setcookie("login", $username);
            setcookie("senha", $senha);
             session_start();
            $_SESSION['apelido'] = $login;
            $_SESSION['funcionario_codigo'] = $senha;

            echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=index1.php'>";
         }
         
         else
         {
            echo "<center>
           <font face='verdana' size='2'><b><br><br><br>Acesso Negado<br>Usuário ou Senha Inválidos!</b></font><br><br>
           <a href='java script:history.go(-1)'><font color='#FF0000' size='2' face='verdana'><b>Voltar para a tela de login</b></font></a></center>";
         }
      }
VALIDA_SESSAO.PHP
session_start();
if (isset($_SESSION["apelido"]) && isset($_SESSION["funcionario_codigo"])) 
{
    $login_usuario = $_SESSION["apelido"];
    $senha_usuario = $_SESSION["funcionario_codigo"];
}
else
{
    echo "    <center>
              <font face='verdana' size=2><br><br><br>ERRO 1 - Acesso Negado<br>Você não efetuou login no sistema<br><br>
            <a href='index.php' target='_top'>Voltar para a tela de login</a>";


if(!(empty($login_usuario) || !(empty($senha_usuario))))
{
    
    include 'conecta.php';
    $resultado = mysql_query("select apelido,funcionario_codigo from funcionarios where apelido = '$login_usuario'");
    if (mysql_num_rows($resultado) == 1)
    {
        if ($senha_usuario != mysql_result($resultado,0,'funcionario_codigo'))
           {
               unset($_SESSION["apelido"]);
               unset($_SESSION["funcionario_codigo"]);
               
               session_destroy();
            echo "    <center>
                      <font face='verdana' size=2><br><br><br>ERRO 2 - Acesso Negado<br>Você não efetuou login no sistema<br><br>
                    <a href='index.php' target='_top'>Voltar para a tela de login</a>";
         die();
           }
    }
    else
    {
           unset($_SESSION["apelido"]);
           unset($_SESSION["funcinario_codigo"]);
           
           session_destroy();
        echo "    <center>
                  <font face='verdana' size=2><br><br><br>ERRO 3 - Acesso Negado<br>Você não efetuou login no sistema<br><br>
                <a href='index.php' target='_top'>Voltar para a tela de login</a>";
           die();
    }
    mysql_close();
}

else
{     
    unset($_SESSION["apelido"]);
    unset($_SESSION["funcionario_codigo"]);
       session_destroy();
    echo "    <center>
              <font face='verdana' size=2><br><br><br>ERRO 4 - Acesso Negado<br>Você não efetuou login no sistema<br><br>
            <a href='index.php' target='_top'>Voltar para a tela de login</a>";
            die();
}
}

Como eu faço para gravar em COOKIE ?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

http://br.php.net/setcookie

Só que gravar o login e a senha no cookie é no mínimo ingenuidade, pois seria a mesma coisa que você escrever no papel e colar na frente do monitor... uma alternativa é, quando o cara quizer permanecer logado você cria um hash qualquer a guarda no cookie, também guarda esse hash numa tabela do BD bem como com a validade do login (por exemplo, login válido por no máximo 5 dias...) e pronto, quando o cara acessar o site você verifica se tem o cookie e se o hash é válido ainda, se for resgata os dados do usuário (na tabela onde você guarda o hash deve guardar o ID do usuário também) e exibe o sistema pra ele, caso contrário exibe a janela de login. Caso você realmente queira guardar o login e senha, pelo menos faça de um jeito que tenha algum nivel de segurança, evitando que se o cara abrir ele veja os dados direto no arquivo.

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...