Прежде всего, вы можете создать таблицу coupon
в своей базе данных следующим образом:
create table `coupon`(
`code` char(32) primary key,
`email` varchar(255),
`used` tinyint(1) default 0
) ENGINE=MYISAM;
Теперь вы можете создать абсолютно случайный купон, а затем сохранить его в таблице для последующей проверки:
function generate_coupon_for($email)
{
do
{
$cpn = md5(rand());
if(mysql_query("insert into `coupons`(`code`, `email`) values('$cpn', '$email');"))
{
return $cpn;
}
}while(mysql_errno() == 1062);
//We had an error while trying to insert the coupon
}
И, таким образом, вы можете проверить купон:
function check_coupon($code, $email)
{
$q = mysql_query("update `coupons` set `used` = 1 where `email`='$email' and `code`='$code' and `used`=0;");
return mysql_affected_rows() > 0;
}
Он вернет истину или ложь ...
Надеюсь, это поможет вам ...