在不同两个目录的PHP怎么共用变量,php中全局变量在多个文件中引用问题

问大家个问题:

能不能在A php文件中定义全局变量 ,B php文件引用并赋值,C php文件引用并访问,我测试了好像不行。B中赋值,C中只能看到A中的内容,看不到B改变后的值。

谢谢大家

回复讨论(解决方案)

当然可以,前提是

C.phpinclude 'A.php';include 'B.php';或

B.php

include 'A.php';

C.php

include 'B.php';

你C php 没有引用B php吧?

两位版主好,我写了个简单的例子说明我的想法:

A.php跳转到B赋值";?>

B.php

B单元中var_global的值是:" . $var_global;echo "跳转到查看结果";?>

C.php

C单元中var_global的值是:" . $var_global;?>

执行的结果是:

A.php:->

跳转到B赋值

B.php->

B单元中var_global的值是:B来赋值

跳转到查看结果

C.php->

跳转到B赋值

C单元中var_global的值是:

即C中获得的值为空,不是我想要的 “B来赋值”

当然可以,前提是

C.phpinclude 'A.php';include 'B.php';或

B.php

include 'A.php';

C.php

include 'B.php';

我的想法就是像C那样,在A中定义一些全局变量,在B中通过流程赋值改变他,在C和其它的php单元中可以使用这些改变之后的全局变量,不用SESSION。可行么?

顺序的全部include,应该是可以改变的,但是B和C之间没有这种引用关系,写起来不明晰

你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 是写桌面程序的,与用户的交互是在程序运行期间完成的

而网站程序是间断运行的,不会保存现场(也无法保存现场)

非常感谢两位版主热心帮助

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值