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:
commit
c58f935fdc
277 changed files with 18503 additions and 0 deletions
38
register.php
Normal file
38
register.php
Normal 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")
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue