The example (and related documentation at redis.io) was not updated for 5 years. Redis had no sorted sets and hashes when the original code was written (!). An update was really needed. We also use a modern PHP client now: Predis. A copy is shipped within this repository to make life easier to newcomers trying Redis for the first time via this example.
38 lines
1.1 KiB
PHP
38 lines
1.1 KiB
PHP
<?
|
|
include("retwis.php");
|
|
|
|
# Form sanity checks
|
|
if (!gt("username") || !gt("password") || !gt("password2"))
|
|
goback("Every field of the registration form is needed!");
|
|
if (gt("password") != gt("password2"))
|
|
goback("The two password fileds don't match!");
|
|
|
|
# The form is ok, check if the username is available
|
|
$username = gt("username");
|
|
$password = gt("password");
|
|
$r = redisLink();
|
|
if ($r->hget("users",$username))
|
|
goback("Sorry the selected username is already in use.");
|
|
|
|
# Everything is ok, Register the user!
|
|
$userid = $r->incr("next_user_id");
|
|
$authsecret = getrand();
|
|
$r->hset("users",$username,$userid);
|
|
$r->hmset("user:$userid",
|
|
"username",$username,
|
|
"password",$password,
|
|
"auth",$authsecret);
|
|
$r->hset("auths",$authsecret,$userid);
|
|
|
|
$r->zadd("users_by_time",time(),$username);
|
|
|
|
# User registered! Login her / him.
|
|
setcookie("auth",$authsecret,time()+3600*24*365);
|
|
|
|
include("header.php");
|
|
?>
|
|
<h2>Welcome aboard!</h2>
|
|
Hey <?=utf8entities($username)?>, now you have an account, <a href="index.php">a good start is to write your first message!</a>.
|
|
<?
|
|
include("footer.php")
|
|
?>
|