为了账号安全,请及时绑定邮箱和手机立即绑定

PHP-setcookie(); 不工作

PHP-setcookie(); 不工作

PHP
白衣染霜花 2019-12-06 10:21:12
我进行了登录,设置了一个带有估算电子邮件地址值的cookie,因此在global.php文件中,它使用以下命令存储用户数据数组:$email = $_COOKIE["PeopleHub"];$getuserdata = mysqli_query($con, "SELECT * FROM Earth WHERE email='$email'");$userdata = mysqli_fetch_array($getuserdata, MYSQLI_ASSOC);Cookie尚未设置,我知道这一点,因为我做了一个测试文件:echo $_COOKIE["PeopleHub"];它只是做了一个空白页。登录代码(设置cookie的位置):<?php include "global.php";    ?><h2>Login</h2><?php     echo "We currently have <b>" . $usercount . "</b> members, <b>" . $onlinecount . "</b> of which are online. "; ?><br><br><?php     if(isset($_POST["email"])){         $email = $_POST["email"];        $password = sha1($_POST["password"]);        $check = mysqli_query($con, "SELECT * FROM Earth WHERE `email`='$email' AND `password`='$password'");        $check = mysqli_num_rows($check);        if($check == 1){        setcookie("PeopleHub", $email, 0, '/');        echo "We logged you in!";        }        else {             echo "We couldn't log you in!";        }    }?><form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">    Email <input name="email" placeholder="Email Address" required="" type="text"><br>    Password <input name="password" placeholder="Password" required="" type="password"><br>    <input type="reset" value="Start Over">    <input type="submit" value="Login"></form>
查看完整描述

3 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

只是想指出,我遇到了setcookie无法正常工作的问题。当我进一步调查该文件时,它被编码为带有BOM的UTF-8。当我将其重新编码为UTF-8而没有BOM setcookie时,效果很好,因此在遇到我的第一个php标签之前就已编写了BOM。我猜想在php.ini文件中启用缓冲可能也会解决此问题。

某人最终可能会发现此信息有用。


查看完整回答
反对 回复 2019-12-06
?
绝地无双

TA贡献1946条经验 获得超4个赞

使用setcookie函数更新cookie时遇到另一个问题。

因此,我使用php序列化功能设置了由数组制成的cookie字符串。从现在开始,我无法更新该cookie-setcookie函数根本无法正常工作,wheater正在设置序列化字符串或任何其他简单字符串。

然后我用新的cookie密钥设置了另一个cookie,这次数据是用json_encode函数编码的。这次我能够设置cookie并更新它:-)


查看完整回答
反对 回复 2019-12-06
  • 3 回答
  • 0 关注
  • 530 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信