Retwis ported to modern Redis data types.

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.
This commit is contained in:
antirez 2014-05-28 11:06:06 +02:00
commit c58f935fdc
277 changed files with 18503 additions and 0 deletions

38
register.php Normal file
View file

@ -0,0 +1,38 @@
<?
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")
?>