Php - проблема setcookies с ответом кода 302

У меня возникает следующая проблема с этим кодом: страница localhost вызвала слишком много перенаправлений. Код состояния - 302 Found. После удаления последнего else я успешно захожу на свой сайт с ответом 200 OK, но тогда $user не определяется.

if (empty($_GET['unique_user'])) {
  if (!empty($_COOKIE['unique_user_D_']) && mysqli_num_rows(mysqli_query($connection, "SELECT `id` FROM `users` WHERE `hash`='".myFunction($_COOKIE['unique_user_D_'])."' LIMIT 1"))!=0) {
    header('Location: ./?unique='.$_COOKIE['unique_user_D_']);
    exit();  
  }
  newUser($add);
}
else { 
  if (mysqli_num_rows(mysqli_query($connection, "SELECT `id` FROM `users` WHERE `hash`='".myFunction($_GET['unique_user'])."' LIMIT 1"))!=0) {
    $user=mysqli_fetch_array(mysqli_query($polaczenie, "SELECT * FROM `users` WHERE `hash`='".myFunction($_GET['unique_user'])."' LIMIT 1"));
    $unique=myFunction($_GET['unique_user']);
    setcookie('unique_user_D_',myFunction($_GET['unique']),(time()+60*60*24*365*5),'/');  
  }
  else {
    setcookie('unique_user_D_',false,1),'/');
    header('Location: ./');    
    exit();
  }
}
0
0
33
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Причина в том, что вы звоните:

header('Location: ./');    
exit();

Что перенаправляет текущую страницу на Location: ./ (HTTP-код 302), и я предполагаю, что Location - это тот же путь, что и этот код = ведущий к Too Many Redirects, поскольку вы всегда перенаправляетесь на одну и ту же страницу.

Удаление кода (header и exit) должно решить вашу проблему.

Другие вопросы по теме