PHP会话与Cookie

时间:2012-07-06 20:22:01

标签: php javascript session cookies store

  

可能重复:
  Cookie VS Session
  PHP: How do Cookies and Sessions work?

我正在努力学习PHP。我有一个项目网站,其中不断生成数字,并在javascript变量中进行更改和存储。除了在用户点击“存储到数据库”按钮时将这些变量存储到数据库中时,涉及的PHP很少。今天我正在使用该网站,导航到另一个网站并返回,我的所有数据都已消失,因为我没有先将它存储到数据库中。我想保存这些数据,以便在我离开页面时重新填充。这样做的最佳方法是什么? PHP会话,cookie或JavaScript cookie?请提前告知,谢谢!

5 个答案:

答案 0 :(得分:7)

  

php会话,Cookie或javascript Cookie?

有一个会话或cookie,所以两个的东西不是三个。

现在会话也是一个Cookie 但保存在服务器上,而不像简单的JS Cookie,它保存在用户的计算机中。

  

我想保存这些数据,以便在我离开页面时重新填充

如果是敏感信息,请始终使用数据库进行存储,如果敏感数据:

  • 使用Cookie或localStorage,但用户可以删除
  • 使用会话,该会话无法被用户删除,但会基于php.ini设置过期

另一方面,要保存永久,请改用数据库。

答案 1 :(得分:3)

PHP和Javascript Cookie是相同的东西,它们只是数据存储客户端,php和javascript是用于存储的技术他们,仅此而已。

由于PHP cookie只能在输出发送到页面之前设置为,因此Javascript Cookie似乎是最好的。

您会使用Cookie而不是会话,因为您提到您会离开该页面,在这种情况下,会话将终止,您将丢失数据。

答案 2 :(得分:1)

如果您想暂时存储一些数据(一次会话,直到用户关闭浏览器),请使用会话

如果您希望将数据存储更长时间(例如登录cereditials),请使用 Cookie

您还应该记住,用户可以更改存储的cookie的值,但不能更改会话,因为会话存储在服务器上,但cookie存储在客户端的计算机上。

答案 3 :(得分:1)

我相信cookie是你需要的答案,因为php会话只存储在页面加载之间,所以你实际上已经将数据发送回服务器(不是你想要的),据我所知,javascript cookies是只是用javascript设置的cookie。

所以要澄清一下,我认为你应该在每次创建一些数据时设置一个cookie(通过使用javascript) - 这将在本地存储在浏览器上(仍然相当不稳定),直到用户按下保存按钮,它将在那里发送回服务器。

答案 4 :(得分:-2)

PHP Cookie如果您想长期存储,但不关心用户是否更改了值。

PHP会话如果您不希望用户能够更改值但不需要长期存储(这听起来像您想要的那样)

会话和Cookie,如果您想长期存储,并且不希望用户有权更改值。您可能希望使用此数据库,以便您可以检查数据库中的cookie信息以查看它是否正确,然后将数据存储在会话中以便于访问。

这是多少网站'记住用户'..他们存储一个带有用户名和密码的cookie,然后当用户访问该网站时(如果没有设置会话),他们用数据库检查用户名和密码,然后,如果它是正确的,他们会创建一个特定于该用户的会话。