2 qq 17284055 qq_17284055 于 2016.05.07 21:07 提问

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
havedream_one   2016.05.08 14: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的时候又执行了一次,也就跟先前的不一样了

qq_17284055
qq_17284055 嗯嗯 会了 我用ajax提交后用session保存了一下就变成全局的了 直接在html页面调用session保存的值就不会变了
一年多之前 回复
caozhy
caozhy   Ds   Rxr 2016.05.08 07:51

这个页面每执行一次,就会产生一个,你可以放在session里

qq_17284055
qq_17284055 是这样吗 可是调用函数返回的还是名字为空 随机数是另一个
一年多之前 回复
qq_17284055
qq_17284055 session_start(); $_SESSION['username']= $_POST['username']; $_SESSION['numer']=mt_rand(1000000000,9999999999);
一年多之前 回复
qq_17284055
qq_17284055 session_start(); $_SESSION['username']= $_POST['username']; $_SESSION['numer']=mt_rand(1000000000,9999999999);
一年多之前 回复
havedream_one
havedream_one   2016.05.07 21:24

外部调用是在这个php文件调用吗

qq_17284055
qq_17284055 回复呆萌的小阿斗: 在html里是这么调用的
一年多之前 回复
qq_17284055
qq_17284055 <section> <p><?php echo "qqqqqqqqqqqqqqqqqqqq"; require_once "php/login.php"; getusername(); getnumber(); ?></p> </section>
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!