The official docs. The w3schools docs.
$cookie_name = "mr flibble";
$cookie_value = "hex vision";
$days = 24*60*60;
$cookie_duration = 30 * $days;
$cookie_path = "/";
$cookie_domain = "allsup.co";
setcookie($cookie_name, $cookie_value, time() + $duration, "/");
setcookie($cookie_name, $cookie_value, time() + $duration, "/", $cookie_domain); // allsup.co-wide
setcookie($cookie_name, $cookie_value, time() + $duration, "/", "boing.allsup.co"); // boing.allsup.co
In the case of boing.allsup.co, the cookie will also be set for e.g. snarf.boing.allsup.co.
Hashed Cookies
To avoid storing correct cookies in plaintext (main an example of cookies and hash()):
<?php
// SET
$days = 24*60*60;
$cookie_name = "tomble";
$cookie_raw_value = "harfle"; // don't include in actual files
$cookie_hashed_value = hash('sha256', $cookie_raw_value);
$cookie_duration = 30 * $days;
echo "cookie_hashed_value: $cookie_hashed_value";
setcookie($cookie_name, $cookie_raw_value, time() + $cookie_duration, "/");
<?php
// TEST
var_dump($_COOKIE);
$cookie_name = "tomble";
$cookie_raw_value = "harfle"; // don't include in actual files
$cookie_hashed_value = hash('sha256', $cookie_raw_value);
if( isset($_COOKIE[$cookie_name]) ) {
$value = $_COOKIE[$cookie_name];
$hashed_value = hash('sha256', $value);
echo "$hashed_value ==? $cookie_hashed_value -- ".($hashed_value === $cookie_hashed_value ? "YES" : "NO");
} else {
echo "Cookie not set";
}