【问题标题】:When to use SESSION and when to use GET for parameter passing in a web application?何时使用 SESSION 以及何时使用 GET 在 Web 应用程序中传递参数?
【发布时间】:2017-12-20 21:50:01
【问题描述】:

是否有关于何时使用 GET 以及何时使用 SESSION 将 Web 应用程序中的参数从一个页面传递到下一个页面的指南?

例子:

网络应用程序有一个“销售报价”实体,您可以“打开”、向其中添加项目并关闭它。您可以打开另一个报价,向该报价添加项目等。在该报价上,添加,删除,编辑项目,数据库层需要知道要读取表的哪些区域以及要写入哪个表,以确保项目被添加到正确的报价中。这可以通过使用quote_id 来完成。

应该通过GET 还是SESSION 传递报价ID?

【问题讨论】:

  • 他们此时是否已登录网站?
  • 是的,用户此时已登录
  • 然后我会使用 URL 进行友好的书签
  • 会话数据在服务器和客户端之间没有“传递”,它们存储在服务器端。您将它们设置为您的应用程序需要(例如失败的登录尝试次数)。另一方面,获取参数由客户端控制(例如:客户端想要显示界面的语言环境)

标签: php rest web-applications get session-variables


【解决方案1】:

Session 主要用于跨多个页面存储用户信息,如用户名、主题等。 GET 和她的姐妹 POST、PUT 和 DELETE 是 HTTP 方法或动词,它们是从客户端(如 Web 浏览器)到服务器的技术类型请求。 当您在服务器中生成一个 wep 页面时,您应该在您的表单或标签的属性值中插入 quote_id 作为隐藏输入,当有更多 JS 工作正在进行或将其附加到请求 url 时,如 GET /quotes/5 其中 5 是您的quote_id 所以你会在服务器上做这样的事情来生成锚点,当点击它时将通过它的 id 检索报价

     <a href="<?php echo '/quotes/'.$quote_id ?>" 
       > click me to get quote info </a>

-编辑:添加更清晰的示例

    <a href="<?php echo 
   '/route/get_quote_by_id.php?
 quote_id='.$quote_id ?>" 
           > click me to get quote info </a>

在你的 get_quote_by_id.php 中:

echo $_GET['quote_id']; 

【讨论】:

  • SESSION 不类似于 GET
猜你喜欢
  • 2021-05-31
  • 1970-01-01
  • 2013-03-07
  • 1970-01-01
  • 2020-12-17
  • 2015-10-05
  • 2018-06-16
  • 2020-04-29
  • 2016-07-09
相关资源
最近更新 更多