我的网站上有一个注册表,供用户注册成为会员。
当他们注册时,他们的详细信息被发送到 mysql 数据库,他们的电子邮件、姓名等都被输入。他们还获得了一个唯一的注册码,该注册码是由随机 md5 在提交时生成的,这个代码也被输入到数据库中。正在通过电子邮件发送给他们。
我遇到的问题是每次新用户注册时都会生成一个新代码,但它会为数据库中的所有其他用户重写以前的代码。我想要的是让每个用户的代码保持唯一,并且每次新用户注册时都不会重写其他代码,所以我想我需要编辑我的代码来说明
UPDATE `ptb_registrations` SET `registration_code` = '%s'
WHERE email = (whatever unique email the user enters)
有人有什么想法吗?谢谢
<?php
/**
* ShuttleCMS - A basic CMS coded in PHP.
* random code - Used for allowing a user to reset password
*
* @author Dan <dan@danbriant.com>
* @version 0.0.1
* @package ShuttleCMS
*/
define('IN_SCRIPT', true);
// Start a session
session_start();
/*
* Generates registration code and puts it on database
*/
//Generate a RANDOM MD5 Hash for a code
$random_code=md5(uniqid(rand()));
//Take the first 8 digits and use them as the code we intend to email the user
$emailcode=substr($random_code, 0, 8);
//Encrypt $emailcode in MD5 format for the database
$registrationcode=($emailcode);
// Make a safe query
$query = sprintf("UPDATE `ptb_registrations` SET `registration_code` = '%s' ",
mysql_real_escape_string($registrationcode));
mysql_query($query)or die('Could not update members: ' . mysql_error());
?>