本文介绍 PHP 提交表单失败后如何保留填写的信息一些方法总结, 其中最常用的就是使用缓存方式了, 这种方法如果网速慢是可能出问题的, 最好的办法就是使用 ajax 了
1.使用 header 头设置缓存控制头 Cache-control
PHP 代码如下:
header('Cache-control: private, must-revalidate'); // 支持页面回跳
2.使用 session_cache_limiter 方法
PHP 代码如下:
session_cache_limiter('private, must-revalidate'); // 要写在 session_start 方法之前
下面介绍一下 session_cache_limiter 参数:
session_cache_limiter 内的几个参数意义是:
nocache: 当然是不缓存(比如: 表单信息被清除), 但公共变量可以缓存
private: 私有方式缓存(比如: 表单信息被保留, 但在生存期内有效)
private_no_cache: 私有方式但不过期(表单信息被保留)
publice: 公有方式,(表单信息也被保留)
设置缓存过期时间: session_cache_expire 函数设置, 缺省是 180 分钟
常遇见问题:
1.session_cache_limiter("private"); 表单信息是保留了, 但是如果我修改已经提交的信息, 表单页面所呈现的信息还是缓存里信息, 没能及时自动刷新, 如果不用 session_cache_limiter("private"); 又不能保留表单信息
解决方案:
在 session_start 前面加上
session_cache_limiter( "private, must-revalidate" );
即可
2. 另一种办法我们可以使用 ajax 来实例
index.html 模板文件大致内容如下:
Hi, 亲爱的小伙伴!
欢迎来到 php1.cn 社区!
点击登录, 发现精彩
注册
登录
Tools Online | 在线开发工具
HTML/JS 格式化 / 压缩
CSS 代码格式化工具
文章自动排版工具
HTML/JS 转换
UTF-8 编码转换工具
Unicode 转换
URL 编码解码
二维码生成工具
IP 地址查询
HTTP 状态码(响应码)
网页 Header 头
网页源代码
JSON 解析着色
Diff 文件比较
RankList | 热门文章
1php 发送 getpost 请求的 6 种方法简明总结_php 实例
2 采用 memcache 在 web 集群中实现 session 的同步会话
来源: https://www.php1.cn/detail/php-6e50a77445.html