如何在 PHP 中记住我(cookie)

ace*_*ace 5 php cookies

我正在制作一个登录页面。所以我已经可以登录到另一个页面了。然后在我的登录页面中,我需要将记住我复选框和 PHP。那么我需要在代码中的哪个部分放置我的“记住我”代码?请帮我。

这是 login1.php

<?php
session_start();
//database connection
$servername     = "localhost";
$username       = "root";
$password       = "";
$dbname         = "lala";

// Create connection
$link = mysql_connect($servername,$username,$password) or die("Could not connect");

$db= mysql_select_db("$dbname",$link) or die ("Could not select database");

$login = $_POST['login'];
$password = md5($_POST['password']);
$rememberme = $_POST['remember_me'];

$result = mysql_query("SELECT * from admin WHERE working_id = '$login' and password = '$password'");
$count = mysql_num_rows($result);

if($count==1)
{
    //check remember me is on or off
    //if off then session login
    //else add cookie

    $_SESSION['username'] = $login;
    $_SESSION['password'] = $password;

    $result1 = mysql_query("SELECT * from admin WHERE working_id = '$login' and password = '$password'");
    while($row = mysql_fetch_array($result1)){
        $_SESSION['gp'] = $row['gpType'];
    }
    header('Location:dashboard.php');
}
else 
{
    $_SESSION['username'] = NULL;
    $_SESSION['password'] = NULL;

    ?>
    <script type = "text/Javascript">
    alert("Sorry , wrong username or password");
    setTimeout("location.href = 'abc.php';");
    </script>
    <?php
}
?>
Run Code Online (Sandbox Code Playgroud)

这是我的 html

    <p><input type="password" name="password" value="" placeholder="Password"></p>
    </div>
     <div id="form2">

    <p class="remember_me">
      <label>

        <input type="checkbox" name="remember_me" id="remember_me">
        Remember me 
      </label>
    </p></div>
    <div id="form3">
    <p class="submit"><input type="submit" name="commit" value="Login"></p>
  </form>
  </div>
Run Code Online (Sandbox Code Playgroud)

kha*_*sim 0

只需在获取 $login 和 $password 后使用此代码

<?php   
if($_POST["remember_me"]=='1' || $_POST["remember_me"]=='on')
                    {
                    $hour = time() + 3600 * 24 * 30;
                    setcookie('username', $login, $hour);
                         setcookie('password', $password, $hour);
                    }
?>
Run Code Online (Sandbox Code Playgroud)

  • 此代码不应在生产中使用。这将导致用户的密码以明文形式存储在其系统上。 (36认同)
  • 拜托哦拜托,我求你不要采用这个解决方案。阅读此内容:/sf/ask/38461/​​ased-website-authentication#477579 (3认同)
  • 切勿将密码放入 cookie (3认同)