私のサイトには、ユーザーがメンバーになるためにサインアップするための登録フォームがあります。
登録すると、詳細が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());
?>