在 PHP 中,一个页面如何获取另一个页面声明的变量?

2014-11-16 20:39:11 +08:00
 blue7wings
例如,我在A页面声明了变量$a,从A页面跳转到B页面,那么B页面如何获取到这个变量?我一般都是带参数传递过去,或者写入session在B页面再获取,能不能写入内存?然后B页面再从内存中获取并销毁这个变量呢?
PHP小白,求大大们帮帮解答,O(∩_∩)O谢谢。。。
11791 次点击
所在节点    PHP
27 条回复
loveyu
2014-11-16 20:44:54 +08:00
貌似没办法,存在session或缓存中
mahone3297
2014-11-16 20:55:26 +08:00
写入redis内存中。。。
orvice
2014-11-16 20:59:52 +08:00
$a 放到同一个文件,然后AB都去include?
regmach
2014-11-16 21:03:36 +08:00
session,plz
zhs227
2014-11-16 21:03:57 +08:00
PHP变量作用域是页面,这个事情被喷了不知道多久。需要自己做序列化与反序列化。一般常用的是session, db, 也可以用文件,简单点一两个参数的可以用url?param1=v1&param2=v2这种GET方式传递。
regmach
2014-11-16 21:28:31 +08:00
看了ls的描述
我突然觉得自己似乎没理解lz的用意....
qushiba
2014-11-16 21:34:26 +08:00
从页面参数传过去,或者就session。。。。。可蛋疼了
xoxo
2014-11-16 21:35:26 +08:00
@zhs227 变量生命期是请求...
feiyuanqiu
2014-11-16 21:36:27 +08:00
内存的话我记得有个扩展shmop可以干这事,但是都用到内存了其实用缓存还要简单些
zhs227
2014-11-16 21:42:46 +08:00
@xoxo 对,是请求。我表达不够准确
cougar
2014-11-16 21:48:13 +08:00
什么场景非要这么干
cover
2014-11-16 21:49:23 +08:00
跳转的get里面写入参数 redis的作用域就变成全局了。。。不现实 还是写入url的get请求靠谱
t6attack
2014-11-16 21:55:58 +08:00
@zhs227 这样也有好处。单个页面的崩溃,不会影响系统整体的稳定。避免了内存泄漏等问题。
lincanbin
2014-11-16 21:57:54 +08:00
一般是是URL中夹带参数跳转,变量的生命周期是请求其实是个很好的特性,避免了不会用变量的人把Web服务搞挂。
txlty
2014-11-16 22:03:33 +08:00
写入文件。或者写入内存,可以用第三方软件实现(memcache、redis)
写入内存有更简单的方式:用apc扩展。
http://pecl.php.net/package/apc
http://php.net/manual/zh/book.apc.php
txlty
2014-11-16 22:16:19 +08:00
楼主先搞明白,你想要的是作用于单次会话的变量?还是服务器全局缓存?
如果是单次会话,那么session就是储存在内存里的。
itfanr
2014-11-16 22:35:41 +08:00
如果是java 貌似可以弄个变量 作用域是一次请求
xin1090
2014-11-16 23:09:12 +08:00
我貌似用get比较多,需要安全一些的会弄成post。 反正都是隐藏的。
regmach
2014-11-16 23:18:11 +08:00
针对用户就session或者get/post
针对全局就写入内存或者数据库
0_0 我应该没有乱说吧?
breestealth
2014-11-16 23:22:59 +08:00
就是一个全局变量的问题。写入 Session、Cookie、Memcache、Redis、DB 甚至某个文件都能解决。根据需要选择最简单的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/146997

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX