【问题标题】:can't get the global variable to work on a function无法让全局变量在函数上工作
【发布时间】:2015-01-23 02:13:34
【问题描述】:

我正在尝试创建一个可以应用和调用任何 php 文件的全局变量,但我无法显示声明的全局变量的输出值。这是我需要了解的具体示例:

testglobal.php

<?php
session_start(); 
error_reporting(0);
?>
<html>
<head><title>Sum with Public Function</title></head>
<body>
<form action="output.php" method="post">
<input type="text" name="a">
<input type="text" name="b">
<input type="submit" value="Submit">
</form>
</body></html>


<?php
echo "";

$sums=$_POST['sums'];


if($sums){
global $d,$e,$c;
include('global-function.php');
get_instance();
$c=$d+$e;
}


?>

全局函数.php

<?php

function get_instance(){

    $d = $_POST['a'];
    $e  = $_POST['b'];

}    


?>

-和-

输出.php

    <?php
global $d,$e,$c;
include('global-function.php');
get_instance();
echo "The First Number is: ".$d."<br />";
echo "The Second Number is: ".$e."<br />";
$c = $d + $e;
echo "The Sum is: ".$c;
?>

testglobal.php 将显示表单。 global-function.php 将 $_post 的值存储到全局变量中。 output.php 将处理并显示存储在全局变量中的任何值。

提前感谢您的帮助...

【问题讨论】:

  • 你需要在你的函数中声明你的全局变量
  • 如果您想发现错误更改:error_reporting(0); 至:ini_set("display_errors", 1); error_reporting(E_ALL);
  • 所以你想在函数中使用全局变量来为这些全局变量分配超级全局变量?!你不应该这样做,因为你不知道当你的代码库增长和/或你需要调试时会发生什么。只需发送您需要用作参数的值,并让函数返回您要分配的值。
  • 一方面,您没有名为“sums”的表单元素。
  • @user4484940 你把我弄丢了……

标签: php forms function variables global


【解决方案1】:

在函数中声明全局变量

function get_instance(){

        global $d , $e ;

        $d = $_POST['a'];
        $e  = $_POST['b'];

    }

【讨论】:

  • 谢谢!它现在正在工作......我删除了 testglobal.php 中的全局,然后用你的建议编辑全局函数,它现在正在工作......感谢所有帮助!
  • @jeroen 你有什么建议或更好的方法吗?请分享你的答案
  • @user4484940 太好了,请将答案作为已接受的答案,以便以后的用户可以轻松获得帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-27
  • 1970-01-01
相关资源
最近更新 更多