创建一个记住我的功能

时间:2011-11-03 07:08:54

标签: php javascript jquery html

我的登录页面上有一个免责声明复选框,我希望在点击它时可以在下次访问该网站时点击它。

该网站基于javascript / jquery基于php并且随后更改了复选框,并将其存储在数据库中,因此可以检索,但我现在需要将用户与此isclicked数据库值相关联。

所以我需要一个浏览器ID,或者我需要设置一个cookie或其他东西,任何人都可以告诉我最好的方式吗?

6 个答案:

答案 0 :(得分:2)

执行此操作的常见和更基本的方法是使用用户名编写cookie,使用哈希密码编写另一个cookie。但我认为你应该用PHP编写cookie,JS是一种客户端语言,所以你不能隐藏你的盐。

答案 1 :(得分:0)

  

所以我需要一个浏览器ID,或者我需要设置一个cookie或其他东西,任何人都可以告诉我最好的方式吗?

因为没有[独特的]浏览器ID,也没有“某些东西”你必须坚持使用cookie。

答案 2 :(得分:0)

在PHP中使用cookie,使用jQuery调用PHP脚本。

jQuery的:

$("#tick-me").live("click", function(){
    $.get("remember.php", function(data) {
        if ( data == 'OK' ){
             // Success, do something...
        } else {
             // Failure, do something...
        }
    });
});

然后在remember.php中:

<?php
setcookie( 'remember_me', true, time()+(3600*24*7) ); // Remember for 7 days
echo 'OK';

在您的HTML表单中:

<input type="checkbox" name="remember" <?php if ( isset($_COOKIE['remember_me']) ) echo 'checked="checked"; ?> />

答案 3 :(得分:0)

您需要一个Cookie plugin

答案 4 :(得分:0)

您可以使用cookie在会话之间存储值,但是如果您说您有一个存储复选框状态的数据库,那么我想您只需要存储一些标识以了解该记录的对象所属。

  • 如果您的用户登录,则很容易,因为您的用户ID与复选框状态一致
  • 如果不登录则更复杂:
    • 您可以在用户的​​计算机上存储具有用户ID的cookie(用户使用不同的计算机的是什么?)
    • 您可以通过IP识别用户(在某种意义上存在缺陷,即通过NAT可能有许多用户在同一IP背后
    • 让他们登录:)

我想如果您想使用数据库+ cookie或将所有信息存储在cookie中或将所有信息存储在数据库中,我认为这取决于您。请记住,只有在用户之间真正辨别的真正方法是让他们登录,因为现在人们有更多的网络访问点(家庭,工作,iPad itp),如果您使用cookie或IP地址识别它们将不会有他们的设置它们。

答案 5 :(得分:-1)

你可以通过cookie来实现......

setcookie( 'remember_me', true);

下次当用户打开网站时,将设置cookie ...你可以通过在$ _COOKIE ['remember_me']上应用if条件来相应地选择复选框条件。