<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<body>
<?php
require_once('database_detail.php');
if(isset($_POST['submit']))
{
$dbc=mysqli_connect(cname,chost,cpwd,cdb);
$username=mysqli_real_escape_string($dbc,trim($_POST['username']));
$password=mysqli_real_escape_string($dbc,trim($_POST['password']));
$confirm=mysqli_real_escape_string($dbc,trim($_POST['confirm']));
$email=mysqli_real_escape_string($dbc,trim($_POST['email']));
$phone=mysqli_real_escape_string($dbc,trim($_POST['phone']));
if(!empty($username) && !empty($password) && !empty($confirm) && !empty($email) && !empty($phone))
{
if($password==$confirm)
{
$query="select * from user where user_username='$username'";
$data=mysqli_query($dbc,$query);
if(mysqli_num_rows($data)== 0)
{
$random=rand(1000,10000);
$query="insert into user(user_username,user_password,user_email,user_phone,date,random)".
"values('$username',SHA('$password'),'$email','$phone',now(),'$random')";
mysqli_query($dbc,$query);
$message="Account created successfully, kindly visit the following link to activate your account"."\n"."localhost/login? activation=".$random;
$to=$email;
$subject="Account Activation";
mail($to,$subject,$message,'From:'.'xyz@gmail.com');
echo 'Account created successfully. kindly visit your email addres and activate your account.';
exit();
}
else
{
echo 'same username exists';
$username="";
}
}
else echo 'Enter the same password in both';
}
else echo 'Enter all the fields';
}
?>
<fieldset>
<legend>signup</legend>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST" >
Username:<input type="text" id="username" name="username" />
Password:<input type="password" name="password" id="password" />
Email<input type="text" name="email" id="email" />
Contact number<input type="text" name="phone" id="phone" />
Confirm Password:<input type="password" name="confirm" id="confirm" />
</fieldset>
<input type="submit" name="submit" value="Sign up" />
</form>
</body>
</html>
So this is for mailing the user who signs up with a unique username password with an activation mail. now i generate a random number, i store that particular random number in the database of the user and also there's a activation field in database which is either 0 or 1 ( for not activated or activated). now when the user logs in , we check for the activtion field, if it is ok then we continue, else we check the $_GET[activation] field of the url, if it matches with the random number stored in the database then continue else return activation error. now is this how we do it or there's some other way. Also how do i delete the accounts that havent been activated after a certain period.