CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

POST方式提交表单的问题

楼主uhopenet(冰火)2005-03-22 17:07:02 在 Web 开发 / PHP 提问

程序A显示一个表单,如:  
  <form   method=post   action="b.php">  
  <input   type=text   name=in><input   type=submit>  
  </form>  
   
  b.php  
  <?php  
  session_start();  
   
  $in=$_POST['in'];  
  ?>  
  <form   method=post   action="c.php">  
  <input   type=text   name=in   value='<?echo($in)?>'><input   type=submit>  
  </form>  
   
  c.php  
  <?  
  session_start();  
  echo($_POST['in']);  
   
  ?>  
  <a   href="javascript:history.back()">back</a>  
   
  此时返回会提示"警告:   网页已经过期   "  
   
  什么原因?怎么解决? 问题点数:20、回复次数:12Top

1 楼beyond141(xu)回复于 2005-03-22 17:27:40 得分 2

采用"post"方式,后退就会出现这样的问题。  
  将所有的“method=post”改为method=get  
  相应的$_POST改为$_GETTop

2 楼lawyu(雨淋漓)回复于 2005-03-22 17:32:25 得分 2

session导致的问题  
  b.php和c.php里去掉这句:session_start();  
  在php4.3.4以上的版本这句已经没有任何意义,当你用$_SESSION[]这句注册session的时间会自动session_start,或者在配置文件里设session_auto_startTop

3 楼lawyu(雨淋漓)回复于 2005-03-22 17:34:38 得分 2

或用  
  <a   href="javascript:location.href='b.php'">back</a>  
  代替  
  history.back()也可以解决Top

4 楼GaoXX(窜天猴网络建筑队头子)(中窜集团)回复于 2005-03-22 17:39:15 得分 2

加在开头  
  header("Cache-control:   private");Top

5 楼antidestiny(阿水)回复于 2005-03-22 22:25:32 得分 0

当session.auto_start=0   时,使用SESSION变量时则无法取到,建议还是使用session_start()Top

6 楼antidestiny(阿水)回复于 2005-03-22 22:33:57 得分 2

$_SESSION   does   not   mimic   this   behavior   and   requires   session_start()   before   use.Top

7 楼uhopenet(冰火)回复于 2005-03-23 13:38:55 得分 0

忘记了一点,我是希望从c.php回到b.php时能够保留从a.php到b.php时传递的数据Top

8 楼uhopenet(冰火)回复于 2005-03-23 14:43:02 得分 0

GaoXX(我即老高,老高即我)    
  您的方法我试验了,不好用Top

9 楼uhopenet(冰火)回复于 2005-03-24 09:07:23 得分 0

UPTop

10 楼roninchina()回复于 2005-04-20 22:58:27 得分 5

我想这样解决:每一次post值都赋给$_SESSION,后面用xx=$_SESSION,  
   
  我也正做类似的东西,还没那么多页面,也没怎么验证,你试试。  
   
  <form   method=post   action="b.php">  
  <input   type=text   name=in><input   type=submit>  
  </form>  
   
  b.php  
  <?php  
  session_start();  
   
  $_SESSION["in"]=$_POST['in'];  
  ?>  
  <form   method=post   action="c.php">  
  <input   type=text   name=in   value='<?echo($_SESSION["in"]=)?>'><input   type=submit>  
  </form>  
   
  c.php  
  <?  
  session_start();  
  echo($_POST['in']);  
   
  ?>Top

11 楼mikespook(CSDN == 吹死大牛)回复于 2005-04-20 23:33:28 得分 5

http://www.chinaunix.net/jh/27/151995.html  
   
  老帖,依然实用~~这可是CU上的精华帖~~~Top

12 楼uhopenet(冰火)回复于 2005-04-27 13:05:27 得分 0

有没有更好的解决方法Top

相关问题

  • 请教:Javascript模拟FORM以POST方式提交表单数据
  • 请问如何用WINSOCK控件模拟ASP表单的POST提交方式?
  • post方式提交表单的按钮事件都不起作用了,救急
  • 表单提交
  • 提交表单
  • 表单提交
  • 表单提交
  • 提交表单
  • 提交表单
  • 提交表单

关键词

  • php
  • 解决
  • start
  • post
  • session
  • 问题
  • back

得分解答快速导航

  • 帖主:uhopenet
  • beyond141
  • lawyu
  • lawyu
  • GaoXX
  • antidestiny
  • roninchina
  • mikespook

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo