在电子邮件代码和验证码激活后,将详细信息从email_activation数据库添加到成员数据库


Add details from email_activation db to member db after email code and captcha activation

我们如何在检查激活脚本时将email_activation数据库中的所有详细信息添加到成员数据库.php?在 sql 数据库中移动详细信息。

<?php
 require_once('recaptchalib.php');
 $privatekey = "your_private_key";
 $resp = recaptcha_check_answer ($privatekey,
 $_SERVER["REMOTE_ADDR"],
 $_POST["recaptcha_challenge_field"],
 $_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
 // What happens when the CAPTCHA was entered incorrectly
 die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
 "(reCAPTCHA said: " . $resp->error . ")");
 } else {
 $username = $_POST['username'];
 $activation_code = $_POST['activation_code'];
 $db_host = "localhost";
 $db_name = "databasename";
 $db_use = "root";
 $db_pass = "password";
 $link = mysql_connect($db_host, $db_use, $db_pass);
 mysql_select_db($db_name, $link);
 $command = "UPDATE email_activation SET check_activation='$activation_code' WHERE username='$username' and activation='$activation_code'";
 $result = mysql_query($command);
 if ($result) {
 echo "Congratulations. Your membership has been activated …";
 }else{
 echo ("You've entered an invalid username / activation code – please retry");
 }
 }
 ?>

使用 INSERT INTO ... SELECT FROM

INSERT INTO member (username, fullname, email) 
  SELECT username, fullname, email FROM activation WHERE id = ?

但是,为什么不将所有数据立即插入到成员表中,并带有激活未完成的标志呢?