社区
Framework
帖子详情
关于全局变量的问题
gnefgnehz
2010-08-06 11:07:10
最近在做一个search功能,涉及到表单的提交和搜索结果的分页显示,因为每次点击分页链接的时候是没有提交表单数据的,所以我想到用一个全局变量将上一次提交的数据储存起来,以便于搜索。所以这里就碰到一个存储全局变量的过程。因为小弟初来乍到,不知如何解决,望高人指点,小弟不胜感激!
...全文
155
17
打赏
收藏
关于全局变量的问题
最近在做一个search功能,涉及到表单的提交和搜索结果的分页显示,因为每次点击分页链接的时候是没有提交表单数据的,所以我想到用一个全局变量将上一次提交的数据储存起来,以便于搜索。所以这里就碰到一个存储全局变量的过程。因为小弟初来乍到,不知如何解决,望高人指点,小弟不胜感激!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
无天
2010-08-08
打赏
举报
回复
GET,或者POST都行吧。
用GET要对表单的 数据进行加密,用POST不会显示在url中,就不用直接加密了。
床上等您
2010-08-06
打赏
举报
回复
用 get 来做搜索,你会发现,原来复杂的搜索也如些简单,
看看 google 搜索的 url 你就知道如何做了。
yzxlyd
2010-08-06
打赏
举报
回复
$url = http_build_query($_REQUEST);
Dleno
2010-08-06
打赏
举报
回复
如果你提交过来的搜索数据是一个数组。
$_POST['search']
$_POST['search']['key'],$_POST['search']['type']等这些就是搜索条件。那你还可以:
$urlSearch = "?srarch=";
if(isset($_POST['search']) && is_array($_POST['search'])){
$search = $_POST['search'];
$urlSearch .= base64_encode(json_encode($search));
}else{
$search = json_decode(base64_decode($_GET['search']),true);
$urlSearch .= $_GET['search'];
}
分页的连接就是$urlSearch .= "&page=****"
CunningBoy
2010-08-06
打赏
举报
回复
[Quote=引用 2 楼 dingsongtao 的回复:]
$_GET = array_merge($_GET, $_POST);
$url = "*****";
$_GET['key'] && $url .= "&key=".rawurlencode($_GET['key']);
$_GET['type'] && $url .= "&type={$_GET['type']}";
你……
[/Quote]
恩,很不错的思路
Dleno
2010-08-06
打赏
举报
回复
$_GET = array_merge($_GET, $_POST);
$url = "*****";
$_GET['key'] && $url .= "&key=".rawurlencode($_GET['key']);
$_GET['type'] && $url .= "&type={$_GET['type']}";
你就这样自己构造url,分页的连接就是$url.="&page=****"
wisword
2010-08-06
打赏
举报
回复
存储到文件或者数据库或者memcache或者共享内心中去
gnefgnehz
2010-08-06
打赏
举报
回复
好的,谢谢各位了啊~
Dleno
2010-08-06
打赏
举报
回复
[Quote=引用 12 楼 gnefgnehz 的回复:]
引用 10 楼 dingsongtao 的回复:
那个只在当前请求有效,你点了分页连接后就无效了,你只有使用其他方式来传递前面提交的数据,如get
对对!就是这种情况,不过可以具体地说明一下么,具体用get 如何实现? 我都折腾好几天了,真是个头疼的问题啊……
[/Quote]
你看下2,4楼的代码。都是用get实现
number123456
2010-08-06
打赏
举报
回复
将form里的method属性get了,这样,你就和平常处理链接一样简单
gnefgnehz
2010-08-06
打赏
举报
回复
[Quote=引用 11 楼 gumwzg 的回复:]
用session保存吧
[/Quote]也想过用这种方法,不过session还没咋用过,能够举个简单的例子说明一下么,谢谢!
gnefgnehz
2010-08-06
打赏
举报
回复
[Quote=引用 10 楼 dingsongtao 的回复:]
那个只在当前请求有效,你点了分页连接后就无效了,你只有使用其他方式来传递前面提交的数据,如get
[/Quote] 对对!就是这种情况,不过可以具体地说明一下么,具体用get 如何实现? 我都折腾好几天了,真是个头疼的问题啊……
gumwzg
2010-08-06
打赏
举报
回复
用session保存吧
Dleno
2010-08-06
打赏
举报
回复
那个只在当前请求有效,你点了分页连接后就无效了,你只有使用其他方式来传递前面提交的数据,如get
gnefgnehz
2010-08-06
打赏
举报
回复
我通过用 Zend_Registry::set() 和 Zend_Registry::get() 来设置和读取全局变量,但是同样不行,感觉对其作用域范围有点怀疑了……
gnefgnehz
2010-08-06
打赏
举报
回复
问题补充一下,是在Zend framework 里面 的全局变量问题!
xuzuning
2010-08-06
打赏
举报
回复
用url参数传递或用session保存
全局变量只在当前程序中有效
全局变量
并发
问题
java_项目
问题
一、
全局变量
引起的并发
问题
在SpringMVC框架下,
全局变量
在并发环境下可能导致数据篡改
问题
。当一个请求未完成时,新的请求可能会修改共享的
全局变量
内容。解决办法包括将
全局变量
改为局部变量或使用ThreadLocal为每个线程提供独立的变量副本,避免并发冲突。通过ThreadLocal在服务层管理变量可以确保每个请求的数据独立,防止并发导致的数据不一致。
项目
问题
总结一、
全局变量
引起的并发
问题
本文探讨了SpringMVC框架下,由于
全局变量
引起的并发数据篡改
问题
,并提出了解决方案,包括将
全局变量
改为局部变量以及使用ThreadLocal来管理线程变量副本。
java
全局变量
引起的并发
问题
本文探讨了Spring MVC框架下并发请求导致
全局变量
被篡改的
问题
,并介绍了两种解决方案:一、将
全局变量
改为局部变量并通过方法参数传递;二、利用Java的ThreadLocal类管理线程副本,确保每个线程拥有独立的变量副本,从而避免数据被篡改。此外,文章还提供了通过断点调试的方法来验证并发
问题
,并强调了在Spring配置文件中设置scope为prototype的重要性。
spring
全局变量
引起的并发
问题
本文探讨了在SpringMVC框架下,当使用
全局变量
处理并发请求时可能出现的数据篡改
问题
。通过分析
问题
原因,介绍了两种解决策略:一是将
全局变量
改为局部变量,二是利用ThreadLocal为每个线程提供独立的变量副本,有效避免并发冲突。
全局变量
的
问题
本文探讨了JavaScript
全局变量
的潜在
问题
,特别是在与其他脚本共存时如何避免命名冲突,并提供了最佳实践来减少
全局变量
的使用。
Framework
4,250
社区成员
4,522
社区内容
发帖
与我相关
我的任务
Framework
国内外优秀PHP框架讨论学习
复制链接
扫一扫
分享
社区描述
国内外优秀PHP框架讨论学习
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章