为什么PHP的get提交表单数据多时会遗失许多数据
因为url有长度限制。不同的浏览器限制也是不一样的。
公司主营业务:网站制作、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出柳州免费做网站回馈大家。
尤其是数据中存在中文的时候。转码后的中文字符非常多。
大数据量使用get传递,可能短时间没问题,但随时有可能发现意想不到的问题。始终存在不确定性。
所有当数据量比较大的时候,应该使用post传递比较稳妥。
PHP表单提交后无法获得数据
你访问的是文件路径,并不是服务地址;
你访问Localhost或127.0.0.1,具体要看你指向的目录
thinkphp点击浏览器回退按钮表单数据就没了
禁用浏览器后退按钮
问题描述:比如有一个在线测试的页面,当用户提交页面之后,调到呈现测试结果的页面(这个页面中会给出参考答案之类的),这个时候就不能让用户再后退到之前的测试页面进行重新做题,然后提交了。有人可能会说,将用户做两次这样的情况放到服务器端的业务部分进行验证不就行了吗?这样是可以的,但是却增加了服务器端的负担(要先去数据库中查找相应的记录,然后再判断)。我们想着是将这个功能尽量转移到客户端去做。下面是一些方法:
(1)参考文献()
scriptlanguage="JavaScript"
javascript:window.history.forward(1); //我目前先用着这个
/script
利用JS产生一个“前进”的动作,以抵消后退功能,这种方法应该是最简洁的,并且不需要考虑用户连点两次或多次“后退”的情况,缺点是当用户端禁用了JavaScript之后即失效。
(2)
AHREF="logout.do"onclick="javascript:location.replace(this.href); event.returnValue=false;"
Logout(Back Disabled)
/A
这种方法用链接页面的URL替换了当前的历史纪录,这样浏览历史记录中就不会有本页面,后退按钮将不能回到本页面。用户点击“Logout”链接注销并执行新页面,这时当用户点击“后退”按钮将不能回到本页,而是回到在本页之前打开的那个页面。
也就是说,这种方法清除的是最后一个访问历史记录,而不是全部的访问记录,这是该方法的一个缺点,当然可以在每一个业务页面都添加这段代码作为保护。另外,和上一种方法相同,当用户端禁用了JavaScript之后即失效。
3、
scriptlanguage="JavaScript"
functionlogout()
{
window.close(true);
window.open("logout.do");
}
/script
buttononClick="logout()"Logout/button
这种方法比较偷懒,关掉浏览器再重新开,经过我的测试在视觉上几乎感觉不出来延时,同时又保证了后退按钮不可用(新窗口浏览器后退按钮为灰色),看起来似乎是个好方法,但缺点也比较明显:
首先,关闭和重开的浏览器窗口大小可能不同,用户可以明显看出这一过程,并且在一定程度上影响操作。
其次,同上,这是一个JavaScript方法。
以上方法都是针对“后退”按钮作出的反应,客户端浏览器需要打开JavaScript代码,下面尝试从另一角度来解决这一问题:
4、禁止缓存
%
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Cache-Control", "no-store");
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
%
这种方法使用服务器端脚本,强制浏览器重新访问服务器下载页面,而不从缓存读取,结合strutsjsp页面中的logic标签实现重新定向。
以上各种方法都有一定的局限,虽然是一个小问题,可是考虑到页面安全的因素,却不得不重视。更多问题到问题求助专区()
php提交表单,点击错误弹出框的确定按钮之后,跳转回原来页面,怎样保存原有信息?
可以将接收的数据再返回并填充表单,以下是一个网友的解决方法,贴出如下:
在开发过程中,经常会出现表单出错而返回页面的时候填写的信息全部丢失的情况,为了支持页面回跳,可以通过以下两种方法实现。
1.使用header头设置缓存控制头Cache-control。
header('Cache-control: private, must-revalidate'); //支持页面回跳
2.使用session_cache_limiter方法。
session_cache_limiter('private, must-revalidate'); //要写在session_start方法之前
下面的代码片断可以防止用户填写表单的时候,单击“提交”按钮返回时,刚刚在表单上填写的内容不会被清除:
session_cache_limiter('nocache');
session_cache_limiter('private');
session_cache_limiter('public');
session_start();
参考地址:
分享题目:php表单后数据丢失 php表单后数据丢失了
网页地址:http://scgulin.cn/article/doocdsc.html