Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dimax

lembra login e senha

Recommended Posts

Pessoal tentei mas não to conseguindo lembra dados com cookie, alguem saberia fazer lembra dados nesse script de login se alguém saibam por favor me responda agradeço.

 

<?php require_once('Connections/bd.php'); ?>

<?php

if (!function_exists("GetSQLValueString")) {

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 

{

 if (PHP_VERSION < 6) {

   $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

 }



 $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);



 switch ($theType) {

   case "text":

     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

     break;    

   case "long":

   case "int":

     $theValue = ($theValue != "") ? intval($theValue) : "NULL";

     break;

   case "double":

     $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";

     break;

   case "date":

     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

     break;

   case "defined":

     $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

     break;

 }

 return $theValue;

}

}

?>

<?php

// *** Validate request to login to this site.

if (!isset($_SESSION)) {

 session_start();

}



$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_GET['accesscheck'])) {

 $_SESSION['PrevUrl'] = $_GET['accesscheck'];

}



if (isset($_POST['login'])) {

 $loginUsername=$_POST['login'];

 $password=$_POST['senha'];

 $MM_fldUserAuthorization = "nivel";

 $MM_redirectLoginSuccess = "admin/painel.php";

 $MM_redirectLoginFailed = "admin/index.php";

 $MM_redirecttoReferrer = false;

 mysql_select_db($database_config, $config);



 $LoginRS__query=sprintf("SELECT usuario, senha, nivel FROM up_users WHERE usuario=%s AND senha=%s",

 GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 



 $LoginRS = mysql_query($LoginRS__query, $config) or die(mysql_error());

 $loginFoundUser = mysql_num_rows($LoginRS);

 if ($loginFoundUser) {



   $loginStrGroup  = mysql_result($LoginRS,0,'nivel');



   //declare two session variables and assign them

   $_SESSION['MM_Username'] = $loginUsername;

   $_SESSION['MM_UserGroup'] = $loginStrGroup;	      



   if (isset($_SESSION['PrevUrl']) && false) {

     $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];	

   }

   header("Location: " . $MM_redirectLoginSuccess );

 }

 else {

   header("Location: ". $MM_redirectLoginFailed );

 }

}

?>

 

 

 

aqui ta a pagina de fazer loguinho

 

<form method="POST" action="<?php echo $loginFormAction; ?>" name="login">

 <table border="0">

     <tr>

       <td>Usuário:</td>

       <td><input type="text" name="login" size="20"></td>

       <td rowspan="2"><input type="submit" value="Logar" name="Logar" class="login_btn" /></td>

     </tr>

     <tr>

       <td>Senha:</td>

       <td><input type="password" name="senha" size="20"></td>
         <input type="checkbox" name="lembrar">
     </tr>



  </table>

     </form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes de mais nada, qual o real problema no script?

 

o script não ta com problema eu quero apenas lembra os dados do login e senha

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, eu faço assim,

 

no banco alem de outros campos eu tenho o email pra validar login, assim eu nao preciso verificar se o login sera repetido, e a senha

a senha eu uso uma hash de 128 bits, a md5 pra mim, pramim, eh obsoleta, exitem sites q decobrem a palavra original...entao eu uso o hash_hmac pra gerar esta senha de 128 bits, eu defino o logaritmo de criptografia pra sha512, e uso uma palavra chave pra temperar (procure senha temperada no google)

dae na hora de cadastrar o usuario eu mando pra ele por email o email dele como login e uma senha aleatoria, se o usuario perdeu a senha dele, eu mando um link por email com um token (uma chave) q esta armazenada no banco, se ele clicar nesta link, o token sera verificado, se eh o mesmo do banco, se for, a senha dele sera resetada e sera enviada uma nova senha aleatoria, e o token q esta no banco sera mudado, por questoes de seguranca

 

devo salientar q eh apenas uma sugestao...

 

cara, eu faço assim,

 

no banco alem de outros campos eu tenho o email pra validar login, assim eu nao preciso verificar se o login sera repetido, e a senha

a senha eu uso uma hash de 128 bits, a md5 pra mim, pramim, eh obsoleta, exitem sites q decobrem a palavra original...entao eu uso o hash_hmac pra gerar esta senha de 128 bits, eu defino o logaritmo de criptografia pra sha512, e uso uma palavra chave pra temperar (procure senha temperada no google)

dae na hora de cadastrar o usuario eu mando pra ele por email o email dele como login e uma senha aleatoria, se o usuario perdeu a senha dele, eu mando um link por email com um token (uma chave) q esta armazenada no banco, se ele clicar nesta link, o token sera verificado, se eh o mesmo do banco, se for, a senha dele sera resetada e sera enviada uma nova senha aleatoria, e o token q esta no banco sera mudado, por questoes de seguranca

 

devo salientar q eh apenas uma sugestao...

cara mas eu queria fazer uma função pra lembra dados tipo Facebook com cookie, me ajuda ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao faz o seguinte, coloca um checkbox no form de login com value =1

ao submeter este form, você verifica se o checkbox tem valor =1

se sim, c usa a funcao set_cookie

e grava um cookie com o login e senha criptografados, e todas as paginas restritas, você tenta ler este cookie, e verifica se os dados do cookie conferem com os do banco

inclua a verificacao do cookie no login tb...pq se existir o cookie e os dados forem validos, ele nao pede login, ja redireciona direto

 

pagina de consulta

http://br2.php.net/manual/pt_BR/function.setcookie.php

 

vai fazendo o script e mandand pra avalicao e possiveis consertos....

 

entao faz o seguinte, coloca um checkbox no form de login com value =1

ao submeter este form, você verifica se o checkbox tem valor =1

se sim, c usa a funcao set_cookie

e grava um cookie com o login e senha criptografados, e todas as paginas restritas, você tenta ler este cookie, e verifica se os dados do cookie conferem com os do banco

inclua a verificacao do cookie no login tb...pq se existir o cookie e os dados forem validos, ele nao pede login, ja redireciona direto

 

pagina de consulta

http://br2.php.net/manual/pt_BR/function.setcookie.php

 

vai fazendo o script e mandand pra avalicao e possiveis consertos....

Cara eu fiz isso os cookies ta funcionado mas o nome de usuário aparece no value, eu queria que ele logasse automaticamente, alguma ideia de como fazer isso.

 

<?php// *** Validate request to login to this site.if (!isset($_SESSION)) {  session_start();}$loginFormAction = $_SERVER['PHP_SELF'];if (isset($_GET['accesscheck'])) {  $_SESSION['PrevUrl'] = $_GET['accesscheck'];}if (isset($_POST['login'])) {  $loginUsername=$_POST['login'];  $password=$_POST['senha'];  $MM_fldUserAuthorization = "nivel"; $MM_redirectLoginSuccess = "painel.php";  $MM_redirectLoginFailed = "index.php";  $MM_redirecttoReferrer = false;  mysql_select_db($database_config, $config);$dias = time() + 3600;	setcookie("login_digitado",$_POST['login'],$dias);setcookie("senha_digitado",$_POST['senha'],$dias);  	  $LoginRS__query=sprintf("SELECT usuario, senha, nivel FROM up_users WHERE usuario=%s AND senha=%s",  GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));      $LoginRS = mysql_query($LoginRS__query, $config) or die(mysql_error());  $loginFoundUser = mysql_num_rows($LoginRS);  if ($loginFoundUser) {        $loginStrGroup  = mysql_result($LoginRS,0,'nivel');        //declare two session variables and assign them    $_SESSION['MM_Username'] = $loginUsername;    $_SESSION['MM_UserGroup'] = $loginStrGroup;	          if (isset($_SESSION['PrevUrl']) && false) {      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];	    }    header("Location: " . $MM_redirectLoginSuccess );  }  else {    header("Location: ". $MM_redirectLoginFailed );  }}?>

<form method="POST" action="<?php echo $loginFormAction; ?>" name="login_erro">      <fieldset>        <legend>Você precisa logar-se</legend>       <label>         <span>Usuário</span>          <input type="text" name="login" value="<?php echo isset($_COOKIE['login_digitado']) ? $_COOKIE['login_digitado'] : ""; ?>" />        </label>                <label>         <span>Senha</span>          <input type="password" name="senha" value="<?php echo isset($_COOKIE['senha_digitado']) ? $_COOKIE['senha_digitado'] : ""; ?>" />        </label>                <input type="submit" name="logar" value="Logar-se" class="login_btn"/>               </fieldset>     </form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao faz o seguinte, coloca um checkbox no form de login com value =1

ao submeter este form, você verifica se o checkbox tem valor =1

se sim, c usa a funcao set_cookie

e grava um cookie com o login e senha criptografados, e todas as paginas restritas, você tenta ler este cookie, e verifica se os dados do cookie conferem com os do banco

inclua a verificacao do cookie no login tb...pq se existir o cookie e os dados forem validos, ele nao pede login, ja redireciona direto

 

pagina de consulta

http://br2.php.net/m...n.setcookie.php

 

vai fazendo o script e mandand pra avalicao e possiveis consertos....

você nao leu direito o post, mas como você teve trabalho de fazer o codigo vou reexplicar

 

1- nao coloca o cookie no login e senha do formulario, nao eh este o objetivo, você coloca o text input de login e senha, e alem coloca um check box com value =1

 

2- ao logar o cara marca isto ae no login você verifica se o valor enviado eh =1, se for, você cria o cookie...

 

3- ao carregar a pagina de login, se tiver o cookie la, você nao manda o form pra ele fazer o login, redireciona direto...

 

Estou com a mesma duvida.

 

Agora com esse ultimo post ficou claro, mas me diz uma coisa eu não preciso ler este cookie pra setar usuario e senha novamente o o browser ja faz isso por mim?

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou com a mesma duvida.

 

Agora com esse ultimo post ficou claro, mas me diz uma coisa eu não preciso ler este cookie pra setar usuario e senha novamente o o browser ja faz isso por mim?

 

Vlw

setar at precisa, pra ele validar no servidor, porem eh perigoso deixar login:senha no cookie, eu aconselharia a criar um token, uma chave, nada de id primaria, um token mesmo sei la tipo, login:senha com md5 no banco...ae vai da criatividade...

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
if(isset($_COOKIE['meulembrar']))
{
$cookie = $_COOKIE['meulembrar'];
$sel = mysql_query("select  * from usuarios where token='{$cookie}'") or die(mysql_error());
if(mysql_num_rows($sel) > 0)
{
header("location:paginarestrita.php");
}

}
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$sel = mysql_query("select  * from usuarios where login='{$_POST['login']}' and senha='{$_POST['senha'}'") or die(mysql_error());
if(mysql_num_rows($sel) > 0)
{
if($_POST['lembrar'] == 1)
{
setcookie('meulembrar',md5($_POST['login'].":".$_POST['senha']),3600);
}
header("location:paginarestrita.php");
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method='post'>
<input type='text' name='login'/><br/>
<input type='password' name='senha'/><br/>
<input type='checkbox' name='lembrar' value='1'/>Lembrar senha?<br/>
<input type='submit' value='Logar'/><br/>
</form>

 

ta super basicao, so pra ilustrar como fazer mesmo,

 

PS nao testei, mas esta ae a logica...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você nao leu direito o post, mas como você teve trabalho de fazer o codigo vou reexplicar

 

1- nao coloca o cookie no login e senha do formulario, nao eh este o objetivo, você coloca o text input de login e senha, e alem coloca um check box com value =1

 

2- ao logar o cara marca isto ae no login você verifica se o valor enviado eh =1, se for, você cria o cookie...

 

3- ao carregar a pagina de login, se tiver o cookie la, você nao manda o form pra ele fazer o login, redireciona direto...

cara faz isso pra mim com meu script, eu to precisando não sei como fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

so posso dizer para aprender a programar e abandonar o dream, você fica viciado e nao aprende a programar....fazer pra você eu nao posso, entenda, isto eh um espaço de ajuda a nao ser que você keira postar no forum de servicços e freelas...

 

so posso dizer para aprender a programar e abandonar o dream, você fica viciado e nao aprende a programar....fazer pra você eu nao posso, entenda, isto eh um espaço de ajuda a nao ser que você keira postar no forum de servicços e freelas...

quebra o galho pra mim

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.