Heim >Backend-Entwicklung >PHP-Tutorial >php中全局变量在多个文件中引用问题
问大家个问题:
能不能在A php文件中定义全局变量 ,B php文件引用并赋值,C php文件引用并访问,我测试了好像不行。B中赋值,C中只能看到A中的内容,看不到B改变后的值。
谢谢大家
当然可以,前提是
C.php
include 'A.php';include 'B.php';或
include 'A.php';
include 'B.php';
你C php 没有引用B php吧?
两位版主好,我写了个简单的例子说明我的想法:
A.php
<?php $var_global;echo "<a href='B.php'>跳转到B赋值</a></br>";?>
<?php include "A.php";//这个单元来赋值$var_global = "B来赋值";echo "</br>B单元中var_global的值是:" . $var_global;echo "</br><a href='C.php'>跳转到查看结果";?>
<?phpinclude "A.php";//这个单元来访问echo "</br>C单元中var_global的值是:" . $var_global;?>
当然可以,前提是
C.php
include 'A.php';include 'B.php';或
include 'A.php';
include 'B.php';
你C php 没有引用B php吧?
而且有时候C.php是不能include B.php的,例如
B是一个登陆页面
C是其他的业务页面,B中登陆做个标记,C中判断这个标记
那是不可以的!
你不在 C.php 中引用 B.php,那么 B.php 如何执行的?
如果不是包含关系,那就得通过参数传递或是用session
不合理的设计,为什么要这么绕来绕去。
那是不可以的!
你不在 C.php 中引用 B.php,那么 B.php 如何执行的?
如果不是包含关系,那就得通过参数传递或是用session
还是以登录作为例子,A中有个登录成功与否的标志$login,B中负责登陆,如果成功就 $login = "success",C中不管B执行不执行,就是判断$login是不是等于"success",不等于就不工作。
那就是只能用session或者cookie之类的了?
不合理的设计,为什么要这么绕来绕去。
我一直用C,初学php,正在学习C的哪些用法和php不同
对,你这种情况用session/cookie最适合不过了。
是的!
那是不可以的!
你不在 C.php 中引用 B.php,那么 B.php 如何执行的?
如果不是包含关系,那就得通过参数传递或是用session
还是以登录作为例子,A中有个登录成功与否的标志$login,B中负责登陆,如果成功就 $login = "success",C中不管B执行不执行,就是判断$login是不是等于"success",不等于就不工作。
那就是只能用session或者cookie之类的了?
你用 C 是写桌面程序的,与用户的交互是在程序运行期间完成的
而网站程序是间断运行的,不会保存现场(也无法保存现场)
非常感谢两位版主热心帮助