将Rand()生成的随机数传递给其他页面进行验证

时间:2015-12-26 06:47:55

标签: php html forms random

我正试图让我的网站上的用户的电话号码得到验证。要做到这一点,我正在集成一个SMS网关。这将是这样的: -

第1步/第1页 - 用户点击按钮以验证其电话号码。其中运行脚本,使用随机数将短信发送到他们的电话号码,并将用户重定向到第2页。请参阅以下代码: -

<?php
// Start the session
session_start();
?>
<html>
<head>
</head>
<body>
   <form id="sms2" name="sms2" method="POST" action="sms3.php">
     <table width= "400">

       <tr>
         <td align="right" valign="top">Verification Code:</td>
         <td align="left"><textarea name="Vefificationcode" cols="80" rows="20" id="Vefificationcode"></textarea></td>
       </tr>
       <tr>
         <td colspan="2" align="right"><input type="submit" name= "submit" value="submit"/>
         </td>
         <p>
           <?php
             $_SESSION['phverf'] = rand();//set the session variable
             $phverf= rand();//stores the value of rand function in phverf variable
             echo "$phverf" . "\n"; // echo this just to check...when users inputs the random number received on sms
            ?>
         </p>
         </tr>
      </table>
   </form>


  </body>
</html>

step2 / Page2 - 有一个输入框,供用户输入他们在SMS中收到的相同验证码。并点击提交。他们去了第3页。请参阅以下代码: -

<?php
    session_start();
?>

<html>
  <head>
  </head>
  <body>

    <?php
      echo $_SESSION['phverf'];
      if(isset($_POST['submit'])){

         $verificationcode= $_POST['Vefificationcode'];
         echo $verificationcode;

         if($_SESSION['phverf']==$verificationcode){echo"you have successfully verified your Phone Number";}
          else {echo "Please type in the code sent to your phone number correctly";}
       }
       ?>

   </body>
</html>

由于 Pranay

1 个答案:

答案 0 :(得分:-1)

添加一列以设置已验证用户的标记。

  

EG:number_verified = 0如果未验证该号码   如果经过验证,则设置为number_verified = 1,   将默认值设置为0.

添加另一列以存储随机数。我建议存放在表格中,这使您可以轻松验证! 如果用户单击验证号,则您重定向页面以发送SMS,同时将随机数存储在users表中。 如果用户输入验证码,则将其与您在表格中存储的随机数进行比较,并设置number_verified = 1。希望它可以帮到你!