无法使用$id在PHP中设置Cookie
无法将$id设置为cookie值 $id正在正常回音。当我在cookie值中放入一个字符串时,它工作得非常好。我还通过将cookie值与$cname放在一起进行了测试,它的效果非常完美。但只有当我尝试将$id替换为cookie值时,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
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
的值,以确保它是您期望的值。