PHP联系人表单向用户发送电子邮件随机确认号

PHP联系人表单向用户发送电子邮件随机确认号,php,forms,contact,Php,Forms,Contact,我有一个php联系人表单,当用户提交表单时,我和用户都会收到一封确认电子邮件。我想做的是生成一个随机的确认号,并通过电子邮件发送给用户和我以供参考。以下是我必须生成随机数的代码: <p>Your confirmation number is: <strong><?php echo mt_rand(100000,999999);?></strong>. Keep this for your records.</p> 您的确认号码是:。

我有一个php联系人表单,当用户提交表单时,我和用户都会收到一封确认电子邮件。我想做的是生成一个随机的确认号,并通过电子邮件发送给用户和我以供参考。以下是我必须生成随机数的代码:

 <p>Your confirmation number is: <strong><?php echo mt_rand(100000,999999);?></strong>. Keep this for your records.</p>
您的确认号码是:。把这个留作记录

数字显示在表单上,但我的问题是,我不知道如何输出此数字以便通过电子邮件发送。请原谅我,我不是程序员,但我有一些非常基本的php知识。因此,如果有人能帮我解决这个问题,我将不胜感激

这是我学校网站上的表格:

下面是我表单中的一些php代码:

    // name
    if(trim($_POST['contactName']) === '') {
        $nameError = '<span class="error">Please enter your name.</span>';
        $hasError = true;
    } else {
        $name = trim($_POST['contactName']);
    }
    // email
    if(trim($_POST['email']) === '')  {
        $emailError = '<span class="error">Please enter your email address.</span>';
        $hasError = true;
    } else if (!preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i", trim($_POST['email']))) {
        $emailError = '<span class="error">You entered an invalid email address.</span>';
        $hasError = true;
    } else {
        $email = trim($_POST['email']);
    }



    // body ------------------------------------------
    if(!isset($hasError)) {
        $emailTo = get_option('tz_email');
        if (!isset($emailTo) || ($emailTo == '') ){
            $emailTo = 'myemail@email.com';
        }
        $subject = '[Foundry Form] From '.$name;

        $body .= "Name: $name \n\n";
        $body .= "Email: $email \n\n";
        $body .= "Phone: $phone \n\n";

        $headers = 'From: '.$name.' <'.$emailTo.'>' . "\r\n" . 'Reply-To: . $email';
        $headers .= "\r\n" . 'BCC: myotheremail@email.com' . "\r\n";

        wp_mail($emailTo, $subject, $body, $headers);
        $emailSent = true;
    }




  }


}


?>


<div id="bodyPage" class="clear">
<!------- start body ------->
<section id="contentPage">
  <h1 class="title"><?php the_title(); ?></h1>


 <?php if(isset($emailSent) && $emailSent == true) { ?>
        <div class="thanks">
          <p><strong>Thank You for Submitting a Service Request!</strong></p>
          <p>An INRF Staff Member will contact you shortly.</p>
          <p>If you do not receive a confirmation e-mail within 1-2 business days, you may contact us directly at (949) 824-2819 or <a href="mailto:info@inrf.uci.edu">info@inrf.uci.edu</a>.</p>
          <p>We look forward to serving your research needs!</p>


           <hr style="border:1px dashed #CCC;" />
          <?php
             echo "<Strong>Your Service Request information</strong><br>";
             echo "(You may print this page for your records)<br><br>";
             echo "<u>Contact Information</u><br>";
             echo "Name: ".$name;
             echo "<br>";
             echo "Email: ".$email;
             echo "<br>";

?>

        </div>
        <?php } else { ?>
        <?php the_content(); ?>
        <?php if(isset($hasError) || isset($captchaError)) { ?>
        <p class="error">Sorry, an error occured. See below.<p>

          <?php } ?>


           <?php if($captchaError != '') { ?><span class="error"><?=$captchaError;?></span><?php } ?>


     <script type="text/javascript">var RecaptchaOptions = { theme : 'white'};</script>

        <form action="<?php the_permalink(); ?>" id="foundryForm" method="post">
          <strong>Contact</strong> <br />
          <br />
          <table border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td><label for="contactName">*Name:</label></td>
              <td><input type="text" size="40" name="contactName" id="contactName" value="<?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?>" class="required requiredField" />
                <?php if($nameError != '') { ?>
                <span class="error">
                <?=$nameError;?>
                </span>
                <?php } ?></td>
            </tr>
            <tr>
              <td><label for="email">*Email:</label></td>
              <td><input type="text" size="40" name="email" id="email" value="<?php if(isset($_POST['email']))  echo $_POST['email'];?>" class="required requiredField email" />
                <?php if($emailError != '') { ?>
                <span class="error">
                <?=$emailError;?>
                </span>
                <?php } ?></td>
            </tr>


          </table>


    <br /><br /> 

      <?php
          require_once('scripts/recaptchalib.php');
          $publickey = "6LfR0eESAAAAAFtSdYmpqqVnVwP8ZMHCr--BIu5f"; // you got this from the signup page
          echo recaptcha_get_html($publickey);
        ?>

          <p><input type="submit"></input></p>
          <input type="hidden" name="submitted" id="submitted" value="true" />
        </form>
        <?php } ?>      
//名称
如果(修剪($_POST['contactName'])=''){
$nameError='请输入您的姓名';
$hasError=true;
}否则{
$name=trim($_POST['contactName']);
}
//电子邮件
如果(修剪($_POST['email'])=''){
$emailError='请输入您的电子邮件地址';
$hasError=true;
}如果(!preg_match(“/^[:alnum:][a-z0-9.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i”,则修剪($\u POST['email'])){
$emailError='您输入了无效的电子邮件地址';
$hasError=true;
}否则{
$email=trim($_POST['email']);
}
//身体------------------------------------------
如果(!isset($hasError)){
$emailTo=get_选项(“tz_电子邮件”);
如果(!isset($emailTo)| |($emailTo==''){
$emailTo=myemail@email.com';
}
$subject='[Foundry Form]From'.$name;
$body.=“Name:$Name\n\n”;
$body.=“电子邮件:$Email\n\n”;
$body.=“电话:$Phone\n\n”;
$headers='发件人:'.$name'.'.'\r\n'.'回复:.$email';
$headers.=“\r\n.”密件抄送:myotheremail@email.com“。”\r\n”;
wp_邮件($emailTo、$subject、$body、$headers);
$emailSent=true;
}
}
}
?>
感谢您提交服务请求

INRF工作人员将很快与您联系

如果您在1-2个工作日内未收到确认电子邮件,您可以直接联系我们(949)824-2819或

我们期待着为您的研究需求服务


对不起,发生了一个错误。见下文。 var RecaptchaOptions={theme:'white'};


您应该做的第一件事是在发送电子邮件之前创建确认号码:

$confirmationNumber = mt_rand(100000,999999);
$body .= "Confirmation Number: $confirmationNumber\n\n";
然后将以下内容添加到电子邮件正文:

$confirmationNumber = mt_rand(100000,999999);
$body .= "Confirmation Number: $confirmationNumber\n\n";
然后在页面上显示时使用
$confirmationNumber

<p>Your confirmation number is: <strong><?php echo $confirmationNumber; ?></strong>. Keep this for your records.</p>
您的确认号码是:。把这个留作记录


代码太多。你能把它限制在实际相关的范围内吗?当然很抱歉:当两个不同的人得到相同的确认号码时会发生什么?我的问题实际上是为了修辞,但我很好奇从这个范围内选择一个重复的几率,所以我写了一个小测试程序。结果是,平均来说,你只需要选择1189次就可以得到一个重复的数字。真他妈的低。如果确认号码不是用户必须在电话里说的话,那么你最好使用UUID之类的东西。非常感谢你的工作!但唯一的问题是页面上显示的号码与通过电子邮件发送给用户的号码不同。是否有任何方法可以生成相同的号码?是的,只需在显示时使用
$confirmationNumber
。请参阅我的编辑。