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

无法使用$id在PHP中设置Cookie,php,mysql,forms,cookies,input,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 = $_POS

无法将$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';}
}

从客户端调试这类问题,因为“这就是它实际发生的地方。”

当浏览器从主机接收到
set cookie:
标题时,cookie才被浏览器实际“设置”。然后,它将在随后发送给主机的HTTP请求中包含该cookie。换句话说,“必须至少有一次往返。”


因此,打开浏览器的调试功能,然后遍历登录序列(在“清除浏览器缓存”之后),看看是否确实发生了这样的HTTP往返。我相信您会发现它没有,并且/或者您会在过程中遇到JavaScript错误消息(您还不知道……。

打印出
$id
的值,以确保它是您期望的值。