Невозможно установить Cookie в PHP, используя $ id - PullRequest
0 голосов
/ 14 января 2019

Невозможно установить $ 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 голосов
/ 14 января 2019

Отладка такого рода проблемы со стороны клиента , потому что "это , где это действительно происходит".

Файл cookie фактически «устанавливается» браузером, только когда он получает заголовок Set-Cookie: от хоста. Затем он будет включать этот файл cookie в последующие HTTP-запросы, которые он отправляет хосту. Другими словами, «должен быть хотя бы один туда-обратно».

Следовательно, включите средства отладки вашего браузера, , затем просмотрите последовательность входа в систему (после «очистки кэша браузера») и посмотрите, действительно ли происходит такой обход HTTP. Я уверен, что вы обнаружите, что это не так, и / или вы наткнетесь на сообщения об ошибках JavaScript (о которых вы еще не знали ...) по пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...