如何在另一个HTML页面中使用jquery读取PHP中的cookie集

问题描述 投票:-1回答:3

login.php上的PHP代码

If (isset($_post['submit]))
{
  username = trim($post['username]);
  $sql = "select password from user where username = 'username'  ";
  $result = mysqli_query($connect,$sql) or die();
  $row = mysqli_fetch_assoc($result);
  If ($row['password'] == md5($password))
  {
    setcookie('username', $row['username'], '/');
    Header('location:index.html');
  };

index.html上的Jquery代码

$(document).ready(function() {
  Var username = $.cookie('username');
  If(username == undefined) {
  Window.location.href="login.html";
} else {
  Alert('welcome'+user+'to my site');
});
php jquery html5
3个回答
3
投票

PHP的第一行应该是:

if (isset($_POST['submit']))

你忘了'提交后'。第二行:

$username = trim($_POST['username']);

你在用户名和'之前忘了$。第三行:

$sql = "SELECT password FROM user WHERE username = '$username'";

您的SQL查询会提供错误的信息。

我的猜测是JQuery应该可以工作,但是PHP代码没有设置cookie。此外,使用password_hash()来保护用户密码。


0
投票

为什么要在客户端进行检查?

但是如果你必须:检查cookie是否实际设置和发送。开发人员工具为您提供详细信息。

如果是这样,请检查cookie是否是使用HttpOnly Flag创建的。如果是,出于安全原因,您将无法从客户端访问cookie。


0
投票

您需要设置cookie的时间,然后才能正常工作。这是工作示例:

<?php
setcookie('username', 'Test', time() + (86400 * 30), "/");
?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script>
        $(function(){
            $('document').ready(function(){
        alert($.cookie("username"));
            });
        });

</script>
© www.soinside.com 2019 - 2024. All rights reserved.