Array
(
)

Botão lembrar senha

Fabio Santos
   - 02 ago 2015

O botão lembrar senha, é uma funcionalidade que vem de qual parte? html, php ou do navegador?

William (devwilliam)
   - 02 ago 2015

Geralmente coloco um checkbox com essa funcionalidade e no momento que valido o login do usuário com PHP verifico se ele marcou o checkbox.

Se foi marcado então crio um cookie com determinado tempo de "vida" contendo as informações do usuário, quando ele acessar novamente essa página será verificado a existência desse cookie com PHP e não será solicitado o login novamente.

Hoje em dia existem algumas features do HTML 5 como local storage, que podem ajudar nesse tipo de funcionalidade, no meu caso tenho usuários ainda acessando com IE 8 então não posso utilizar essas features.

Fabio Santos
   - 02 ago 2015

Achei um código, mas é bem longo, mas a ideia é essa? A melhor forma é utilizando a linguagem com o conceito de cookies?

#Código


<?php require_once('Connections/config.php'); 

	if (!isset($_SESSION)) {
  		session_start();
	}

		$loginFormAction = $_SERVER['PHP_SELF'];
			if (isset($_GET['accesscheck'])) {
  			$_SESSION['PrevUrl'] = $_GET['accesscheck'];
			}
			

					if (isset($_POST['email'])) {
					  $loginUsername=$_POST['email'];
					  $password=$_POST['senha'];
					  $MM_fldUserAuthorization = "";
					  $MM_redirectLoginSuccess = "conteudo_adm";
					  $MM_redirectLoginFailed = "index.php";
					  $MM_redirecttoReferrer = false;
					  mysql_select_db($database_config, $config);
					  
  
  			$LoginRS__query=sprintf("SELECT email, senha FROM login_adm WHERE email=%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 = "";
    
	
	if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    $_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 );
			  }
			}
?>

William (devwilliam)
   - 02 ago 2015

Acho que você confundiu, esse código que você postou "bem antigo" trata login com SESSION e não com COOKIES, inclusive usando a extensão "deprecate" mysql_.

Mas a lógica para essa funcionalidade exige sim algumas linhas de código.

Fabio Santos
   - 03 ago 2015

Eu sabia que não importa o tempo, isso seria com muitas linhas de código! hehehe, valeu!