呆萌的小阿斗 2016-05-07 13:07 采纳率: 50%
浏览 1165
已采纳

php函数返回问题,新生求解答

<?php
.....省略
$number = mt_rand(1000000000,9999999999);
$username = $_POST['username'];
......省略
function getusername(){
global $username;
echo $username;
}
function getnumber(){
global $number;
echo $number;
}
?>
我在外部调用getnumber()和getusername()得到的并不是第一次生成的随机数

而是另一个十位数 username也不是post穿过来的 是空

  • 写回答

3条回答 默认 最新

  • havedream_one 2016-05-08 06:19
    关注
      <html>                                                                      
      2 <body>
      3     hello world<br/>
      4     <form action="login.php" method="POST">
      5         <input name="username" value=""/>
      6     </form>
      7     <?php
      8         echo "<br>=======<br>";
      9         require_once("login.php");
     10         echo "getusername:",getusername(),"<br>";
     11         echo "getnumber:",getnumber(),"<br>";
     12         echo "<br>=====<br>";
     13     ?>
     14 </body>
     15 </html>
    
    
     <?php                                                                       
      2     echo "here<br>";
      3     $number = mt_rand(1000000000,9999999999);
      4     echo "生成number;",$number,"<br>";
      5     $username = $_POST["username"];
      6     echo "接收username:",$username,"<br>";
      7     function getusername(){
      8         global $username;
      9         echo $username,"<br>";
     10     }
     11     function getnumber(){
     12         global $number;
     13         echo $number,"<br>";
     14     }
     15 ?>
    
    

    是这样的形式吗?如果是的话

    当你post到login的时候就会调用login.php一次,这样的等于$number = mt_rand(1000000000,9999999999);
    $username = $_POST['username'];执行了一次,当再次require的时候又执行了一次,也就跟先前的不一样了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?