Keep Me Logged In
PHP Ajax jQuery Javascript
By | Wednesday, June 6, 2012




Hide Comments


Keep me logged in




For the code that pre-fills fields with email/username and password at login,
check the "Remember Me" code.
MySQL:
Make a table for the users to have input values match values of the database
CREATE TABLE `users` (
`username` VARCHAR ( 25 ) NOT NULL ,
`password` VARCHAR ( 25 ) NOT NULL
) ENGINE = MYISAM;
INSERT INTO users VALUES ('demouser', 'password');
PHP:
settings.php, file where all the important MySQL settings are located.
<?php

//MODIFY TO YOUR MySQL INFO
$c mysql_connect("server""username""password");
$db mysql_select_db("your_database"$c);
$table 'users';

?>
Ajax:
process.php, the file where the login process will take place
<?php

//ACTIVATES THE SESSION IF ONE EXISTS
session_start();

//CHECKS WHETHER THE USERNAME IS A SESSION OR A COOKIE
if($_COOKIE["keep_me"]){
    
$keep_me $_COOKIE["keep_me"];
} elseif(
$_SESSION["keep_me"]){
    
$keep_me $_SESSION["keep_me"];
}

$username $_POST["username"];
$password $_POST["password"];
$checked $_POST["checked"];
$time time()+60*60*24*3650;

if(!
$keep_me){
    include(
"settings.php"); //FILE WITH IMPORTANT MySQL SETTINGS
    
    
$q mysql_query("SELECT * FROM $table WHERE username='$username' AND password='$password'");
    
$r mysql_fetch_assoc($q);
    
$username $r["username"];
    
$password $r["password"];
    
    if(
$username&&$password){
        if(
$checked=="true"){
            
setcookie("keep_me"$username$time"/"".".$_SERVER["HTTP_HOST"]);
            
$km $_COOKIE["keep_me"];
        } else {
            
$_SESSION["keep_me"] = $username;
            
session_write_close();
            
$km $_SESSION["keep_me"];
        }
        echo 
'Hello, '.$username.' <a href="logout.php">Logout</a>';
    } else {
        echo 
'Wrong username or password<br>
        <input id="username" value="'
.$_POST["username"].'"> Type "demouser"<br>
        <input id="password" type="password"> Type "password"<br>
        <input id="check" type="checkbox"> Keep me logged in<br>
        <input id="login" type="button" value="Log In">'
;
    }
} else {
    echo 
'Hello, '.$keep_me.' <a href="logout.php">Logout</a>';
}

?>
logout.php, the file where the session or cookie would be destroyed.
<?php

//ACTIVATES THE SESSION IF ONE EXISTS
session_start();

//CHECKS WHETHER THE USERNAME IS A SESSION OR A COOKIE
if($_COOKIE["keep_me"]){
    
$keep_me $_COOKIE["keep_me"];
} elseif(
$_SESSION["keep_me"]){
    
$keep_me $_SESSION["keep_me"];
}
$time time()-60*60*24*3650;

//IF EITHER A SESSION OR COOKIE EXISTS...
if($keep_me){
    
session_unset();
    
//MODIFY TO YOUR DOMAIN
    
setcookie("keep_me"$keep_me$time"/"".".$_SERVER["HTTP_HOST"]);
    
//IT WILL BE DESIROYED HERE
    
session_destroy();
}

//REDIRECTS TO THE LOGIN PAGE
header("Location: login.php");

?>
Main File:
login.php, the main file in which everything is located
<?php

//RECOGNIZES SESSTION, PUT BEFORE ALL HTML
session_start();

?>
<html>
<head>
<script src="http://wcetdesigns.com/assets/javascript/jquery.js"></script>
<script>
$(function(){
$("#login").live("click", function(){ //ON SUBMIT
var c = $("#check");
var u = $("#username").val();
var p = $("#password").val();
var d = "username="+u+"&password="+p; //DATA TO BE PROCESSED
//IF THE "KEEP ME LOGGED IN" IS CHECKED
if(c.is(":checked")){
d += "&checked=true";
}
//DATA PROCESSED
$.ajax({
type: "POST",
url: "process.php", //AJAX FILE
data: d,
success: function(e){
$("#outcome").html(e); //DISPLAYS OUTCOME IN HTML
}
});
});
});
</script>
</head>
<body>
<?php

//CHECKS WHETHER THE USERNAME IS A SESSION OR A COOKIE
if($_COOKIE["keep_me"]){
    
$keep_me $_COOKIE["keep_me"];
} elseif(
$_SESSION["keep_me"]){
    
$keep_me $_SESSION["keep_me"];
}

//HTML FOR THE LOGIN PROCESS
echo '<div id="outcome">';

//IF USERNAME IS ALREADY LOGGED IN
if($keep_me){
    echo 
'Hello, '.$keep_me.' <a href="logout.php">Logout</a>';
}
else { 
//IF NOT LOGGED IN
    
echo '<input id="username"> Type "demouser"<br>
    <input id="password" type="password"> Type "password"<br>
    <input id="check" type="checkbox"> Keep me logged in<br>
    <input id="login" type="button" value="Log In">'
;
}

echo 
'</div>'//ENDS THE HTML ELEMENT

?>
</body>
</html>