Javascript 如果在“我的保持登录”功能中刷新浏览器,如何保留电子邮件和密码?

Javascript 如果在“我的保持登录”功能中刷新浏览器,如何保留电子邮件和密码?,javascript,php,jquery,html,twitter-bootstrap,Javascript,Php,Jquery,Html,Twitter Bootstrap,我想做的是保持电子邮件和密码在模式对话框登录页面,如果我点击复选框按钮,如果我刷新相同的页面,并再次点击模式对话框,电子邮件和密码应该仍然存在 我的问题是,如果我在登录模式对话框中登录并选中“让我登录”复选框,然后单击按钮并再次刷新页面,我键入的电子邮件和密码就不存在了 如果我选中了“保持我登录”按钮复选框,这里有人知道如何在模式对话框中保留我在电子邮件中键入的内容和密码吗 整个html代码: <?php session_start(); $unm=isset($_SESSIO

我想做的是保持电子邮件和密码在模式对话框登录页面,如果我点击复选框按钮,如果我刷新相同的页面,并再次点击模式对话框,电子邮件和密码应该仍然存在

我的问题是,如果我在登录模式对话框中登录并选中“让我登录”复选框,然后单击按钮并再次刷新页面,我键入的电子邮件和密码就不存在了

如果我选中了“保持我登录”按钮复选框,这里有人知道如何在模式对话框中保留我在电子邮件中键入的内容和密码吗

整个html代码:

<?php 
    session_start();
 $unm=isset($_SESSION['email'])?$_SESSION['email']:'default_username';
 $pwd=isset($_SESSION['password'])?$_SESSION['password']:'default_password';

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />


    <link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet" />


    <script src="bootstrap/js/jquery-1.11.0.min.js"></script>
    <script src="bootstrap/js/bootstrap.min.js"></script>
    <script type="text/javascript"> <!--submit form script-->
        $(document).ready(function(){ 
                $('#sumbit').on('click', function(){
                    window.location.replace("profile.php");
                    $('.modal').modal('hide');
                });
               $('[name="chkbox"]').on('click', function(){
                  $.post( "savestate.php", { email: $('[name="email"]').val(), email: $('[name="password"]').val() }).done(function( data ) {
                     alert( "Data Loaded: " + data );
                  });
               });
        });
        </script>




</head>

<body>

<a data-toggle="modal" href="#myModal"><span class="glyphicon glyphicon-user"></span> Login</a>

        <div class="container">
            <div class="row">
                    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-hidden="true">
                        <div class="modal-dialog">
                            <div class="modal-content">
                                <div class="modal-header">
                                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                                    <h5 class="modal-title">PLEASE ENTER YOUR EMAIL ADDRESS AND PASSWORD TO LOG IN.</h5>
                                </div>
                                <div class="modal-body">
                                    <form class="form-horizontal">
                                        <div class="form-group">
                                            <label for="email" class="col-sm-2 control-label">Email</label>
                                            <div class="col-md-9">
                                                <div class="input-group">
                                                    <span class="input-group-addon"><i class="fa fa-envelope-o fa-fw"></i></span>
                                                    <input type="text" name="email" value="<?php echo $unm; ?>" class="form-control" placeholder="Enter Email Address..." />
                                                </div>
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <label for="password" class="col-sm-2 control-label">Password</label>
                                            <div class="col-md-9">
                                                <div class="input-group">
                                                    <span class="input-group-addon"><i class="fa fa-key fa-fw"></i></span>
                                                    <input type="password" name="password" value="<?php echo $pwd; ?>"" class="form-control" placeholder="Enter Password..." />
                                                </div>
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <div class="col-sm-offset-2 col-sm-10">
                                                <input type="checkbox" name="chkbox" value="staylogged" class="checkbox-inline" />
                                                <label>  &nbsp; Keep me logged in</label>  &nbsp; <b>|</b>
                                                <a href="" style="text-decoration:none">  &nbsp; Forgot your password?</a>
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <div class="col-sm-offset-2 col-sm-10">
                                                <button type="button" id="submit" name="login" class="btn btn-primary" data-dismiss="modal" aria-hidden="true"><span class="glyphicon glyphicon-user"></span> Login</button>
                                                <button type="button" id="show_signup_md" class="btn btn-info" data-dismiss="modal" aria-hidden="true"><span class="glyphicon glyphicon-list-alt"></span> Register</button>
                                            </div>
                                        </div>
                                    </form>
                                </div>
                            </div>
                        </div>
                    </div>
            </div>
        </div>


</body>
</html>
savestate.php

<?php
    session_start();
    $_SESSION['email']=$_POST['email'];
    $_SESSION['password']=$_POST['password'];
    $unm=isset($_SESSION['email'])?$_SESSION['email']:'default_username';
    $pwd=isset($_SESSION['password'])?$_SESSION['password']:'default_password';
?>
session_start();
$_SESSION['email']=$_POST['email'];
$_SESSION['password']=$_POST['password'];

当用户单击检查按钮时,您可以在服务器端设置变量。可能是通过使用AJAX。 然后在显示页面时在页面中使用它们

以下是jquery:

$(document).ready(function(){ 
                $('#sumbit').on('click', function(){
                    window.location.replace("profile.php");
                    $('.modal').modal('hide');
                });
             $('[name="chkbox"]').on('click', function(){
               if(!$(this).attr('checked'))return;
              $.post( "/savestate.php", { email: $('[name="email"]').val(), password: $('[name="password"]').val() }).done(function( data ) {
                // alert( "Data Loaded: " + data );
              });
           });
        });
这里是savestate.php

<?php
    session_start();
    $_SESSION['email']=$_POST['email'];
    $_SESSION['password']=$_POST['password'];
    $unm=isset($_SESSION['email'])?$_SESSION['email']:'default_username';
    $pwd=isset($_SESSION['password'])?$_SESSION['password']:'default_password';
?>
session_start();
$_SESSION['email']=$_POST['email'];
$_SESSION['password']=$_POST['password'];
您可以在php页面中作为

 $unm=isset($_SESSION['email'])?$_SESSION['email']:'default_username';
 $pwd=isset($_SESSION['password'])?$_SESSION['password']:'default_password';

当用户单击检查按钮时,您可以在服务器端设置变量。可能是通过使用AJAX。 然后在显示页面时在页面中使用它们

以下是jquery:

$(document).ready(function(){ 
                $('#sumbit').on('click', function(){
                    window.location.replace("profile.php");
                    $('.modal').modal('hide');
                });
             $('[name="chkbox"]').on('click', function(){
               if(!$(this).attr('checked'))return;
              $.post( "/savestate.php", { email: $('[name="email"]').val(), password: $('[name="password"]').val() }).done(function( data ) {
                // alert( "Data Loaded: " + data );
              });
           });
        });
这里是savestate.php

<?php
    session_start();
    $_SESSION['email']=$_POST['email'];
    $_SESSION['password']=$_POST['password'];
    $unm=isset($_SESSION['email'])?$_SESSION['email']:'default_username';
    $pwd=isset($_SESSION['password'])?$_SESSION['password']:'default_password';
?>
session_start();
$_SESSION['email']=$_POST['email'];
$_SESSION['password']=$_POST['password'];
您可以在php页面中作为

 $unm=isset($_SESSION['email'])?$_SESSION['email']:'default_username';
 $pwd=isset($_SESSION['password'])?$_SESSION['password']:'default_password';

为什么不使用jQuery的cookie插件呢

总的来说,这是一个问题,但如果你不想做,我没有人告诉你不要做

另一个更好的解决方案是将信息存储在PHP会话中。这个。尽管还有更好的解决方案,但您的应用程序是无状态的

使用jQuery的插件将非常简单:

jQuery(function () {
  $("#email").val($.cookie("unm"));
  $("#password").val($.cookie("pwd"));
});
这样,如果cookie中有内容,则该值将为空,否则为空。或者你可以

$("#email").val($.cookie("unm") || "Default value for usermane");

如果cookie返回值为null或空,则设置默认值。

为什么不使用jQuery的cookie插件

总的来说,这是一个问题,但如果你不想做,我没有人告诉你不要做

另一个更好的解决方案是将信息存储在PHP会话中。这个。尽管还有更好的解决方案,但您的应用程序是无状态的

使用jQuery的插件将非常简单:

jQuery(function () {
  $("#email").val($.cookie("unm"));
  $("#password").val($.cookie("pwd"));
});
这样,如果cookie中有内容,则该值将为空,否则为空。或者你可以

$("#email").val($.cookie("unm") || "Default value for usermane");

如果cookie返回为null或空,则设置默认值。

您也可以使用本地存储,但我建议使用服务器端选项。

您也可以使用本地存储,但我建议使用服务器端选项。

如果选中此复选框,则可以启动会话,然后将变量保留在会话数组中。我不这样做懂您想让用户保持登录状态还是只保存其凭据?如果选中此复选框,您可以启动会话,然后将变量保留在会话数组中。我不明白。。您想让用户保持登录状态还是只保存他的凭据?这更多的是一个注释而不是一个答案。好的,所以我应该添加一个解决方案:染料-答案应该是一个解决方案@JayBlanchard补充道:别忘了提到会话启动;这更多的是一个评论而不是一个答案。好吧,我应该添加一个解决方案:染料-答案应该是一个解决方案@JayBlanchard补充道:别忘了提到会话启动;