1

我的注册表单有一点问题:当发送验证电子邮件以供用户激活帐户时,我试图让用户输入的 UserID 字段显示为用户。目前,我只需要在验证邮件中显示用户提供的用户 ID 和随机生成的 PIN。请任何人都可以为我更正此问题,因为 PIN 正确显示在电子邮件中,但不是用户 ID。

下面是我的代码:

<div id="wrap">
        <!-- start PHP code -->
        <?php

            mysql_connect("localhost", "root", "") or die(mysql_error()); // Connect to database server(localhost) with root .
            mysql_select_db("registrations") or die(mysql_error()); // Select registration database.

            $email="";

            if( isset($_POST['fullname']) // Is the name field being posted; it does not matter whether it's empty or filled.  
    && // This is the same as the AND in our statement; it allows you to check multiple statements.  
    !empty($_POST['fullname']) // Verify if the field name is not empty 
    AND isset($_POST['email']) // Is the email field being posted; it does not matter if it's empty or filled.  
    && // This is the same as the AND in our statement; it allows you to check multiple statements.  
    !empty($_POST['email']) ) // Verify if the field email is not empty   
      {

                $fullname = mysql_real_escape_string($_POST['fullname']);
                $email = mysql_real_escape_string($_POST['email']);

                }
                if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $email)){
                    // Return Error - Invalid Email
                    $msg = 'The email you have entered is invalid, please try again.';
                }else{
                    // Return Success - Valid Email
                    $msg = 'Your account has been created, <br /> please verify it by clicking the activation link that has been send to your email.';
                    }

                    $hash = md5( rand(0,1000) ); // Generate random 32 character hash and assign it to a local variable.

                    $PIN = rand(1000,5000); // Generate random number between 1000 and 5000 and assign it to a local variable.

$to      = $email; // Send email to our user  
$subject = 'Signup | Verification of your BFS Account'; // Give the email a subject  
$message = 'Thanks for signing up! 
Your account has been created, you can login with the following credentials after you have activated your account by clicking the url below. 
------------------------ 
USER ID: '.$UserID.' // **THIS IS WHERE I HAVE THE PROBLEM DISPLAYING USER ID**
PIN: '.$PIN.' 
------------------------ 
Please click this link to activate your account: 
http://www.website.com/verify.php?email='.$email.'&hash='.$hash.' 
'; // Our message above including the link  
$headers = 'From:noreply@website.com' . "\r\n"; // Set from headers  
mail($to, $subject, $message, $headers); // Send our email  

        ?>
        <!-- stop PHP Code -->           

    </div>
4

1 回答 1

1

你没有分配任何东西给$UserID. 作为一个疯狂的猜测,您可能需要:

$UserID = $_POST['userid']; //  or
$UserID = $_POST['user_id'];

PS请处理您的代码缩进。

于 2013-02-26T11:52:01.683 回答