将数据从MySQL表复制到另一个未显示的MySQL表

时间:2014-02-27 10:03:03

标签: php mysql

我正在尝试通过向电子邮件发送验证码来制作验证帐户的注册表单。一旦用户在他的电子邮件中收到代码,他必须单击链接以验证他的帐户(我使用localhost模拟了这个)。顺便说一下,我有2个注册会员和临时会员的数据库(这些是等待验证的会员)。

处理并匹配验证码时,临时表中的数据将被复制到已注册的成员表中,复制完成后,临时表中的用户数据将被删除。

当我检查更新的数据库(注册会员表)时,ID列已递增,但用户名,密码和电子邮件字段没有数据。这有什么问题?

这是我正在关注本教程的网站,但我做了一些小调整 http://phpeasystep.com/phptu/24.html

本地主机/ validated_email.php?密钥= 639900974e5fc25626af1a6ce5da8b01

<html>
<body>

<?php
ob_start();

//define a function for temporary database (temporary_members)
function temporary_members_db(){
    $host="localhost";
    $db_username="root";
    $db_password="";
    $db="forum_members";
    $db_table="temporary_members";

    //=======================connect to database
    mysql_connect("$host","$db_username","$db_password") or die("Could not connect to the database!");
    mysql_select_db("$db") or die("database not found!");
}

function members_db() {
    $host="localhost";
    $db_username="root";
    $db_password="";
    $db="forum_members";
    $db_table="members";

    //=======================connect to database
    mysql_connect("$host","$db_username","$db_password") or die("Could not connect to the database!");
    mysql_select_db("$db") or die("database not found!");
}


//connect to the temporary_member table
temporary_members_db();

$code = $_GET['passkey'];

//execute mysql query to check the validation code
$check_code = "SELECT `validation_code` FROM `temporary_members`";
$execute_code = mysql_query($check_code);
$result_code = mysql_num_rows($execute_code);

if ($result_code==1) {
    $rows=mysql_fetch_array($execute_code);
    $username = $rows['username'];
    $password = $rows['password'];
    $email = $rows['email'];
    $table_members = "members";

    members_db();
    $copy_values = "INSERT INTO $table_members(username, password, email) VALUES ('$username', '$password', '$email')";
    $execute_copy = mysql_query($copy_values);
}
else {
    echo "Wrong validation code";
}

if ($execute_copy) {
    echo "Your account has been activated!";

//delete data from the temporary_members
$table_temporary_members = "temporary_members";
$delete_data = "DELETE FROM $table_temporary_members WHERE validation_code = '$code'";
$execute_delete = mysql_query($delete_data);
}



ob_end_flush();
?>

</body>
</html>

0 个答案:

没有答案