使用 POST in php 维护每页记录、排序和分页

Maintaining Record per page, sorting and pagination using POST in php

我遇到过这样一种情况,有人希望我通过 POST 请求而不是 GET 来实现排序、搜索、每页记录和分页。 我试着告诉他为什么 POST 不可行,喜欢

  1. 用户将无法为页面添加书签
  2. 通过 POST 我们无法在搜索 returns 记录大于每页记录时维护分页参数。
  3. 当用户通过单击页码导航到下一页时,将不会保持排序顺序。

然后他建议我在该实例的 cookie 中保留搜索、排序和分页值,一旦用户移动到其他页面,我们可以清除 cookie,或者我们保持会话

请帮我判断这是正确的做事方式吗?

所以,我不想插手你们公司的纠纷,但我理解你的处境,也意识到有时候你需要有人站在你这边。

1).首先,POST os NOT for getting,所以根据定义,他是错误的。如果你没有创造任何东西,你根本就没有 POST。 See here.

2).您关于无法为该页面添加书签以供以后访问的观点是完全正确的。

3).不不不不。不要将这些东西存储在会话或 cookie 中。虽然它不会伤害任何东西,但完全没有必要。它不是敏感数据,从技术上讲它可以工作。但是,如果您已经打破了第一点并使用了 GET 以外的其他动词,则只需要执行此操作。

如果您正在分页、排序等,那是因为您收到了数据。除非先 GET 才能收到信息,对吧?

首先你要让他明白GET在什么地方用,在什么地方用POST。

这里简单介绍一下,详细的可以问google.

GET:通常用于提交搜索请求或用户希望从服务器拉取信息的任何请求。

GET 的优势。 1.页面可以收藏。 2. 页面可以安全地重新加载。

POST:用于数据库中可能会更改或添加数据的请求。或页面你不想要的人书签。

POST的优势。

  1. URL 中未显示名称值对。所以这是安全的加分项。
  2. 无限数量的名称值对被传递。

基本上正如我提到的POST用于破坏性操作,例如创建、编辑或删除。 而对于拉取数据,我们主要使用GET。

将搜索参数放入 cookie 的必要性是什么,因为据我所知你正在做所有的事情,比如在服务器端进行排序或搜索,所以你必须将它传递给 url every time (or POST body If you follow the path of your Einstein Senior :) ), 所以不需要填写cookies space

希望对你有所帮助,他会理解的。