初学者高分寻求答案(超简单)

dreambird1983 2006-06-09 05:11:42
问题是这样的:

假设a页面是一个表单,由管理员在表单中填写查询条件,然后提交给b.php

b.php根据a页面传过来到查询条件在数据库中进行搜索,然后把查询结果反映在页面中,假设符合条件的查询结果有3个,组成一个列表。管理员可以在每条记录后面点击“详细信息”,查看每条记录的详细信息,进入c页面。

在c页面中管理员可以看到他选择的纪录的详细信息,查看完毕后,他可以点击“返回”链接返回到b页面中,继续选择其他的纪录查看详细信息。

我现在的问题是,当我想从c页面返回到b.php的时候,得不到刚才在b.php中的列表了,因为b页面要接收到a页面传过来的参数,进行查询然后才能给出列表,现在我从c页面返回到b页面,b页面没有得到任何的参数,所以搜索条件为空值,所以无法得到刚才的列表了,我该怎样使b页面能够记住a页面最开始传过来的参数,在我从c返回到b的时候仍然能看到满足条件的列表呢?

...全文
398 25 打赏 收藏 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
poonzsp 2006-06-15
  • 打赏
  • 举报
回复
简单问题复杂化

kongguyoulan163 2006-06-15
  • 打赏
  • 举报
回复
不同意楼上的说法,什么叫不安全的方法阿,其实网页上无论GET还是POST,都不安全,稍微懂一些html就知道为什么。

个人感觉最好的方法就是用AJAX,网页根本用不到刷新,也就用不到返回页了。
xihuluyou 2006-06-15
  • 打赏
  • 举报
回复
个人理解:
最不安全的最法:用get传递参数 ,history.back()返回
最笨的办法:把参数传递给C,再返回给B,包括存放入sission等,试想如果你的数据集不是3个而是300个3000个呢?无谓的数据库开销啊
最合适的做法,我觉得是在列表上点查看详细,就打开一个新窗口

建议最美观的做法:在B页上建空层,display=none; 查看详细的时候用js控制显示^_^
tony-杨 2006-06-14
  • 打赏
  • 举报
回复
其实最简单的是
b-->c的时间在新窗口中打开就全部就解决了……
testoktest 2006-06-14
  • 打赏
  • 举报
回复
如果用post的话,在b.php的头部加上
header("Cache-control: private"); 不行吗
lantersen 2006-06-14
  • 打赏
  • 举报
回复
session或cookie
lucky for U!
kongguyoulan163 2006-06-13
  • 打赏
  • 举报
回复
<a href=b.php?条件1&条件2>返回</a>很简单阿
kongguyoulan163 2006-06-13
  • 打赏
  • 举报
回复
其实很简单阿,你把查询的条件来回传递不就行了。b to c,然后再c to b,用header方式或用链接返回就可以了。用Get方式接受变量
yesway 2006-06-13
  • 打赏
  • 举报
回复
楼上正解
an9ryfr09 2006-06-13
  • 打赏
  • 举报
回复
晕,这是老师出的题目吧?典型的简单问题复杂化。
xian222 2006-06-12
  • 打赏
  • 举报
回复
session
很好啊
自己的信息不会被别人知道
Gdj 2006-06-11
  • 打赏
  • 举报
回复
通常session就是基于cookie的。除非你特别处理过由get来传递session_id
沪php攻城师 2006-06-11
  • 打赏
  • 举报
回复
session也能被禁用啊,怎么禁的?
zeroleonhart 2006-06-10
  • 打赏
  • 举报
回复
the most simple and effective way is opening c.php in a new window
Gdj 2006-06-10
  • 打赏
  • 举报
回复
get和post的区别就是get出现在地址栏。并有一定内容长度限制。post不能肉眼直接看见结果,无长度限制或长度限制长得可忽略。

不用get的话一般只能用cookie。b页面中先判断有无$_POST,有的话将$_POST写入cookie。没有就直接用$_COOKIE来显示数据。c页跳回b页直接用地址跳转即可。最好不用session。因为这样要浪费服务端资源。
Gdj 2006-06-10
  • 打赏
  • 举报
回复
cookie被禁用基本=session被禁用。
indexroot 2006-06-10
  • 打赏
  • 举报
回复
Cookie并不安全同时可能被禁用,这是个管理页面,不一定会同时有大量用户登录,
也可以考虑使用Session,Session的设计就是用来跟踪会话的
KevC 2006-06-09
  • 打赏
  • 举报
回复
GET與POST區別不大,可以簡單理解POST的資料不會直接顯示在地址欄上,別人不知道你傳的什麽資料
KevC 2006-06-09
  • 打赏
  • 举报
回复
在b.php中測試POST的內容是不是空,不是空就把POST過來的內容放到SESSION中,空時就不做操作了
在c.php中返回時不要用HISTORY.BACK()而是用鏈結直接訪問B.PHP
dreambird1983 2006-06-09
  • 打赏
  • 举报
回复
恩,确实是我疏忽了,光把history.back()用上了,忘改成get方式了
问题是解决了,但是浏览器地址栏中确泄露了我查询的方式和信息。
我想多问一句,get和post的区别在哪里,如果不post方式传输数据,可以解决这个问题吗
这个贴子我会结,能把上面的帮我搞懂了再另给分
加载更多回复(5)

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧