PHPackages                             andrewlim/rememberme - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. andrewlim/rememberme

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

andrewlim/rememberme
====================

Easy to use RememberMeCookie class with no dependencies except PDO

1.0.0(4y ago)17MITPHPPHP &gt;=5.4.0

Since May 4Pushed 4y ago1 watchersCompare

[ Source](https://github.com/andrew-lim/rememberme)[ Packagist](https://packagist.org/packages/andrewlim/rememberme)[ Docs](https://github.com/andrew-lim/rememberme)[ RSS](/packages/andrewlim-rememberme/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

andrewlim/rememberme
====================

[](#andrewlimrememberme)

Easy to use RememberMeCookie class with no dependencies except PDO.

Features:

- PSR-12 compliant
- Works with PHP 5.4 and above
- The hash of the cookie value (by default SHA256) is stored in the database

Setup
-----

[](#setup)

You can include the RememberMeCookie.php file directly or install via composer:

```
composer require andrewlim/rememberme

```

By default, the class looks for and stores cookie data in a table named "rememberme". It needs these 4 columns to be present: cookiehash, userid, createdat, expiresat

```
-- MySQL / SQLite
CREATE TABLE rememberme (
    cookiehash VARCHAR(128) PRIMARY KEY,
    userid     VARCHAR(128) NOT NULL,
    createdat  DATETIME     NOT NULL,
    expiresat  DATETIME     NULL
);
```

```
-- postgresql
CREATE TABLE rememberme (
    cookiehash VARCHAR(128) PRIMARY KEY,
    userid     VARCHAR(128) NOT NULL,
    createdat  TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL,
    expiresat  TIMESTAMP(0) WITHOUT TIME ZONE NULL
);
```

Usage
-----

[](#usage)

Call create() after successful login to create the rememberme cookie

```
// Create a RememberMeCookie and pass a PDO instance
$rememberMeCookie = new \AndrewLim\RememberMe\RememberMeCookie($pdo);

// Create a cookie, store its hash and and send it to browser
// The userid variable is a foreign key id to identify the user
$row = $rememberMeCookie->create($userid);

// Redirect to secure page
if ($row) {
    header('Location: dashboard.php');
}
```

Call verify() to check for rememberme cookie

```
// If rememberme cookie is valid exists and is valid
$row = $rememberMeCookie->verify();
if ($row) {
    header('Location: dashboard.php');
    return;
}
// Invalid
else {
    header('Location: login.php');
    return;
}
```

Call logout() to remove the remembermecookie from browser and delete the database hash

```
$rememberMeCookie->logout();
header('Location: login.php');
```

Configuration
-------------

[](#configuration)

You can configure the cookie creation and storage before calling create()

```
$rememberMeCookie = new \AndrewLim\RememberMe\RememberMeCookie($pdo);

// Table name
$rememberMeCookie->table = 'customtable';

// Cookie name
$rememberMeCookie->cookiename = 'dashboard_cookie';

// hashing algorithm
$rememberMeCookie->algo = 'sha512';

// 2 years expiry
$rememberMeCookie->expires = time() + (2 * 365 * 24 * 60 * 60);
```

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1474d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/939f26d5ab2e33b25e45c54b7ed11c1d2883c6b6dcd28e119a8928255cf7611f?d=identicon)[andrewlim](/maintainers/andrewlim)

---

Top Contributors

[![andrew-lim](https://avatars.githubusercontent.com/u/3378648?v=4)](https://github.com/andrew-lim "andrew-lim (9 commits)")

---

Tags

cookieremember

### Embed Badge

![Health badge](/badges/andrewlim-rememberme/health.svg)

```
[![Health](https://phpackages.com/badges/andrewlim-rememberme/health.svg)](https://phpackages.com/packages/andrewlim-rememberme)
```

###  Alternatives

[spatie/laravel-cookie-consent

Make your Laravel app comply with the crazy EU cookie law

1.5k4.7M20](/packages/spatie-laravel-cookie-consent)[christiankuri/laravel-favorite

Allows Laravel Eloquent models to implement a 'favorite' or 'remember' or 'follow' feature.

226471.2k5](/packages/christiankuri-laravel-favorite)[statikbe/laravel-cookie-consent

Cookie consent modal for EU

213396.7k](/packages/statikbe-laravel-cookie-consent)[oveleon/contao-cookiebar

Contao Cookiebar

63124.1k6](/packages/oveleon-contao-cookiebar)[dirkpersky/typo3-dp_cookieconsent

Enable a cookie consent box. Let you visitors control the usage of cookies and load script or content after a consent. (ePrivacy, TTDSG)

36201.3k1](/packages/dirkpersky-typo3-dp-cookieconsent)[xsuchy09/utm-cookie

Utm-Cookie saves utm parameters from url into cookie with defined lifetime (default 7 days). Than cookie (utm) can be used later without parsing google or any other cookies.

1456.1k2](/packages/xsuchy09-utm-cookie)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
