【发布时间】:2010-12-02 20:51:50
【问题描述】:
您好,我有一个简单的问题: 在您的网站上工作时,推荐的传递变量的方法是什么。 - 获取、发布、会话、cookie、隐藏字段……
【问题讨论】:
标签: php html variables web parameter-passing
您好,我有一个简单的问题: 在您的网站上工作时,推荐的传递变量的方法是什么。 - 获取、发布、会话、cookie、隐藏字段……
【问题讨论】:
标签: php html variables web parameter-passing
饼干;或多或少从来没有。您放在那里的任何内容几乎总是可以更好地存储在会话中。或许仅用于持久登录。
隐藏字段;同样,几乎从不使用会话并将数据安全地保存在服务器上。有时用作通过 javascript 收集的数据的存储点,仅此而已。
【讨论】:
我更喜欢 Sessions。这是您上面提到的唯一服务器端选项。
如果您想将信息从客户端传输到服务器,您可以使用 POST 或 GET。记住最后一个隐藏字段会变成get变量的帖子。
Get、Post、Cookies 和隐藏字段都可以相对简单地操作。您选择哪个选项,请确保您始终检查您的变量是否有效。用户输入值永远不能被信任!
【讨论】:
所有这些东西都有不同的,有时是重叠的用途。在开发完整的应用程序时选择一个并仅使用它会导致可笑的严重误用。您需要一个更具体的问题。
【讨论】:
我通常会遵守一些简单的规则:
GET - 用于获取信息。
例如:
site.com/articles/category/2 或 site.com/articles.php?category=2 显示第二类的所有文章
site.com/search/mike或site.com/search.php?q=mike现场搜索mike
POST - 用于更新或插入数据
由于各种原因在 POST/GET 表单中使用的隐藏字段,通常用于 ID 或类似的东西
会话 - 用于一个会话的数据。存储一些用户偏好、用户数据。
Cookies - 用于“记住我”功能和一些 JS 的东西(因为 JS 无法访问 Session 数据)
附:还有 PUT 和 DELETE 方法,但是一些共享主机不允许它们...
【讨论】:
取决于站点以及何时需要传递数据。
如果它在页面上加载 cookie,如果您有会话,如果您提交表单(即 HTTP POST 或 GET),如果提交并且您不希望用户看到使用表单的隐藏字段(它是 HTTP POST 或 GET),通过 URL (GET),最后,如果它是 AJAX 例如 Web 应用程序,您有几个选项和方法可供使用(HTTP GET、PUT、POST 和 DELETE - 请参阅 RESTful APIS 以获得一个很好的示例) .
请注意,对于所有 HTTP GET、PUT、POST 和 DELETE 方法,您仍然可以使用 cookie 和会话
【讨论】:
Session 是传递特定值的最合适的方式。但是如果你想一次性发送多个变量,那么 post 是最好的方法。
【讨论】: