O cookie não está sendo definido em um navegador [PHP]

Limpar

Eu tenho alguma lógica PHP de login estático simples e estou tentando salvar o nome de usuário em um cookie. Infelizmente, ele não salva nada e também não retorna erros, então não tenho certeza do que está errado. Talvez você possa identificar algo errado no código que estou fazendo.

$users = array('allan'=>'allanpass');

$username = $_POST["username"];
$enterpass = $_POST["password"];

if(isset($_POST["username"])) {
    if (array_key_exists($username, $users)) {
        $pass = $users["allanpass"];
        if($enterpass == $pass) {
            setcookie("heyhey", 'user2', time() + 60 * 60 * 24 * 7, '/');
            echo "Welcome back! <br />";
            echo '<a href="login.php?link=link1">Link1</a><br />';
            echo '<a href="login.php?link=link2">Link2</a><br />';
            echo '<a href="login.php?link=link3">Link3</a><br />';

        } else {
            echo "pass does not exist";
        }
    } else {
        array_push($users, $username);
        echo "hello new user <br />";
        echo '<a href="#">Link1</a><br />';
        echo '<a href="#">Link2</a><br />';
        echo '<a href="#">Link3</a><br />';
    }
} else {
    echo "Please fill in the form";
};

EDITAR: Não tenho cookies anteriores salvos. Tudo está destruído.

Limpar

Obrigado a todos por suas contribuições, mas o problema era outra coisa. Era que eu estava configurando um cookie depois que meus cabeçalhos foram enviados. Agora, isso não significa que eu tive que definir um cookie no topo do meu arquivo, mas eu tinha alguns comentários e espaços no topo do meu arquivo e removê-los eliminou os cabeçalhos enviados por erro. Se a remoção de espaços não corrigir o erro de cabeçalhos, tente usar ob_start()antes de definir seu cookie e ob_end_flush();depois. Mas essa não é a melhor prática.

Eu também estava recebendo um aviso de índices indefinidos onde tinha minhas variáveis ​​definidas. Verificar se os valores estão definidos antes de atribuí-los às variáveis ​​que uso na instrução if também ajudou.

$username = isset($_POST['username']) ? $_POST['username'] : '';
$enterpass = isset($_POST['password']) ? $_POST['password'] : '';

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Laravel 7: Por que meu cookie de sessão não está sendo definido em um navegador?

O cookie da sessão expressa não está sendo definido no navegador

Um "ArrayAdapter" não está sendo definido

Um "ArrayAdapter" não está sendo definido

cookie de sessão laravel não está sendo definido

O peso da fonte está definido como normal, mas está sendo exibido em negrito no navegador

Django REST e React - Cookie JWT não sendo definido no navegador, mas trabalhando com o carteiro

o estado não está sendo definido em componentDidMount

O cookie de gorila / sessões não está sendo definido quando SessionStore é de um pacote exportado

não consigo abrir uma página em um navegador que está sendo executado no docker

O Spring bean na classe de configuração não está sendo autowired em um bean definido no arquivo .xml

Django e React: o cookie csrf não está sendo definido no cabeçalho da solicitação

Cookie no cabeçalho Set-Cookie não está sendo definido

Um ponteiro retornado por um método não está sendo atribuído corretamente a outro ponteiro definido em C

O cookie está presente no navegador, mas php $ _COOKIE está vazio

GOPATH não está sendo definido automaticamente?

$ escopo não está sendo definido corretamente

useState initialState não está sendo definido

Sequelize defaultValue não está sendo definido

minDate não está sendo definido?

Recebi um erro "o navegador não está definido" no console quando tento criar um favorito no Chrome

O cookie Hapijs não está definido

Cookie em PHP não está pronto

O estado não está sendo definido em fetch dentro de useeffect

Combobox SelectedValue não está sendo definido na vinculação de XAML, mas funciona em C #

Não consigo recuperar um array que está definido em $ _POST no PHP

O que significa "requer não está definido" em JS e como as bibliotecas estão disponíveis para o navegador?

A matriz JSON em um objeto não está sendo analisada

Vue "item não está definido" em um "v-for"