无法使用$ id在PHP中设置Cookie

时间:2019-01-14 17:54:28

标签: php mysql forms cookies input

无法将$ id设置为cookie值

$ id回显正确。当我在cookie值中放入一个字符串时,它运行良好。我还通过将cookie值与$ cname一起放置进行了测试,它的效果非常理想。但是,只有当我尝试将$ id代替cookie值时,cookie才会设置。

if(isset($_POST['login'])){

$id = $_GET['id'];
$cname = "aff_id";
setcookie($cname, $id, time()+(60*60));

$email = $_POST['email'];
$pass = $_POST['pass'];
$query = mysqli_query($dbc, 'SELECT * FROM users WHERE email ="'. $email.'" and password ="'.$pass.'"');
if(mysqli_num_rows($query) == 1) {

    $result = mysqli_fetch_assoc($query);
    $_SESSION['uid'] = $result['id'];
    header('Location: admin.php');

} else {echo 'failed to login';}
}

1 个答案:

答案 0 :(得分:-2)

client 端调试此类问题,因为“那是它实际发生的地方”。

仅当浏览器从主机接收到Set-Cookie:标头时,它实际上才由浏览器“设置”。然后,它将在发送给主机的后续HTTP请求中包含该cookie。换句话说,“必须至少有一个往返”。

因此,请打开您浏览器的调试功能,然后浏览登录顺序(“清除浏览器缓存”之后),然后查看实际上是否确实发生了这种HTTP往返。我确定您会发现它没有,和/或您会一路陷入JavaScript错误消息(您还不知道...)。 / p>