[导读]本文章来给各位同学介绍PHP提交表单失败后如何保留填写的信息一些方法总结,最常用的就是使用缓存方式了,这种方法如果网速慢是可能出问题的,最好的办法就是使用ajax了。1.使用header头设置缓存控制头Cache-c本文章来给各位同学介绍PHP提交表单失败后如何保留填写的信息一些方法总结,最常用的就是使用缓存方式了,这种方法如果网速慢是可能出问题的,最好的办法就是使用ajax了。

1.使用header头设置缓存控制头Cache-control。

PHP代码

1.

代码如下复制代码

header('Cache-control: private,

must-revalidate'); //支持页面回跳

2.使用session_cache_limiter方法。

PHP代码

代码如下复制代码

1.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" );即可

另一种办法我们可以使用ajax来实例

index.html模板文件大内容:

代码如下复制代码

jQuery Ajax实例演示

$(document).ready(function(){//这个就是jQueryready,它就像C语言的main所有操作包含在它里面

$("#button_login").mousedown(function(){

login(); //点击ID为"button_login"的按钮后触发函数login();

});

function login(){ //函数login();

var username = $("#username").val();//取框中的用户名

var password = $("#password").val();//取框中的密码

$.ajax({ //一个Ajax过程

type: "post", //以post方式与后台沟通

url : "login.php", //与此php页面沟通

dataType:'json',//从php返回的值以JSON方式

解释

data: 'username='+username+'&password='+password, //发给php的数据有两项,分别是上面传来的u和p

success: function(json){//如果调用php成功

//alert(json.username+'n'+json.password); //把php中的返回值(json.username)给alert出来

$('#result').html("姓名:" + json.username + "
密码:" +

json.password); //把php中的返回值显示在预定义的result定位符位置

}

});

}

//$.post()方式:

$('#test_post').mousedown(function (){

$.post(

'login.php',

{

username:$('#username').val(),

password:$('#password').val()

},

function (data) //回传函数

{

var

myjson='http://www.sm136.com';

eval_r('myjson=' + data + ';');

$('#result').html("姓名1:" +

myjson.username + "
密码1:" +

myjson.password);

}

);

});

//$.get()方式:

$('#test_get').mousedown(function (){

$.get(

'login.php',

{

username:$('#username').val(),

password:$('#password').val()

},

function(data) //回传函数

{

var myjson='';

eval_r("myjson=" +

data + ";");

$('#result').html("姓名2:" +

myjson.username + "
密码2:" +

myjson.password);

}

);

});

});

style="background:orange;border:1px solid

red;width:300px;height:200px;">

action="" method="post">

输入姓名:

type="text" name="username" id="username"

/>

输入密码:

type="text" name="password" id="password"

/>

id="button_login">ajax提交

post提交

get提交

最初的源码里面好像有一点bug,修改后正常运行。

login.php文件的内容:

代码如下复制代码

echo json_encode(array

('username'=>$_REQUEST['username'],'password'=>$_REQUEST['password']));

?>

这样的话我们提交不需要刷新页面了,如果失败就直接会有提交了,这样可以100%保存提交失败后数据不被丢失了哦。

php表单退出怎么写,PHP提交表单失败后如何保留填写的信息相关推荐

  1. [js] 写一个方法实现promise失败后自动重试

    [js] 写一个方法实现promise失败后自动重试 <!DOCTYPE html> <html lang="en"><head><met ...

  2. mysql更新多表sql语句怎么写_MySQL多表updatesql语句总结

    MySQL 多表 update 有几种不同的写法.假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price:另外一张表是 MySQL 多表 update 有几种不同的写法. ...

  3. svn提交备注_svn 中commit时必须填写备注信息如何设置

    在软件开发团队中总是有人忘记添加备注信息,可以通过下面方式进行设置,从而在commit时强制需要填写备注信息. 在服务端选中需要设置的项目进行设置. 选中项目右键,"所以任务"-& ...

  4. JavaWeb解决form表单刷新提示确认重新提交表单

      在servlet中进行跳转页面使用getRequestDispatcher,会造成页面的重新加载和表单的重新提交.   我们只需要将跳转方式改为 response.sendRedirect(&qu ...

  5. 用python做乘法口诀表_使用python写乘法口诀表

    代码如下: def chengfab(n): #定义一个chengfab函数,参数为n for x in range(1,n): #遍历x for y in range(1,n): #内层嵌套遍历y ...

  6. 用c#输出正九九乘法表_用C#写九九乘法表

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 using System; using System.Collections.Generic; using System.ComponentModel; ...

  7. php提交表单并发送邮件,php提交表单发送邮件的方法

    php提交表单发送邮件的方法 发布于 2015-03-22 09:54:24 | 132 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Prep ...

  8. 不同浏览器对回车提交表单的处理办法(转载)

    不同浏览器对回车提交表单的处理办法(转载) 对下面的一段代码,刚开始使用 onClick 事件,在 IE 6.0 中,要按"提交"按扭才起做用,直接回车不行,而在 firefox ...

  9. 签名 html5,在HTML5表单中使用涂写签名

    在HTML5表单中使用涂写签名 HTML5表单在触屏设备上的使用越来越多,一种常见要求是支持签名. 划线(用手写笔或手指书写)正成为在移动设备上签署表格的一种可接受方式. HTML5表单和Forms ...

最新文章

  1. R语言基本操作函数(1)变量的基本操作
  2. 不要动态修改 DOM 里面的 id 属性
  3. python KeyError: 4
  4. Flask项目常见面试问题
  5. 【BZOJ3518】点组计数 [欧拉函数]
  6. JDBC笔记02-数据库连接池 Spring JDBC
  7. 同步请求和异步请求的区别
  8. oracle 写declare例子
  9. .NET/C# 使用Stopwatch测量运行时间
  10. 小说阅读软件 java代码_小说阅读器源代码java程序
  11. 结构体数组 初始化(转)
  12. Android 调用手机相册、摄像头拍照及剪裁照片
  13. 什么是WEB应用waf防火墙和DDOS高防IP?
  14. Arcgis动态图制作——以全国各省情绪变化地图为例
  15. RTP/RTCP 和 SRTP/SRTCP协议
  16. 系统的学习网络编程,这篇就够了!(来收藏夹里吃灰)
  17. 如何解决Mac电脑浏览器网页自动放大的问题?
  18. 混沌研习社-《创业反思-成为更加优秀的自己》 百度云下载
  19. HDMI 数据包简析
  20. 七个不可思议事件谜题

热门文章

  1. 编译ceph源码:cython module not found问题的解决
  2. 简单protobuf
  3. xBIM 实战01 在浏览器中加载IFC模型文件
  4. nuxt.js实战之移动端rem
  5. unity编辑器扩展_01(在工具栏中创建一个按钮)
  6. Geant4采用make和cmake编译运行geant4自带例子的方法
  7. angularjs 学习笔记 简单基础
  8. 5个在线调试代码的网站
  9. 硅谷产学研的创新循环
  10. Apache启用mod_expires模块