问题描述
- 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穿过来的 是空
解决方案
这个页面每执行一次,就会产生一个,你可以放在session里
解决方案二:
<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的时候又执行了一次,也就跟先前的不一样了
解决方案三:
外部调用是在这个php文件调用吗
时间: 2024-08-03 14:00:58