Vous avez écrit une logique opposée à ce que vous voulez vraiment.
Vous avez dit que
Vous essayez de vérifier si
C'est une if
conditionnelle.
la première $_COOKIE['one']
existe
Pour que vous utilisez isset
, que vous avez fait et il est vrai.
OU la deuxième $_COOKIE['two']
exists
donc vous devriez utiliser l'opérateur OR
(||)
et si aucune existe pour rediriger l'utilisateur.
C'est un else
, puis d'utiliser header
pour rediriger.
Conversion au code littéral vos mots, vous auriez ceci:
if (isset($_COOKIE['one']) || isset($_COOKIE['two'])) {
//... Do your thing
} else {
header('Location: ./');
}
Votre code fonctionne aussi avec le correctif fourni par Mark dans les commentaires, mais pourrait vous confondre dans l'avenir .. .
Vous pouvez aussi le faire pour éviter la nidification:
if (!(isset($_COOKIE['one']) || isset($_COOKIE['two']))) {
{
header('Location: ./'); exit;
}
//... Do your thing
utilisation ET (&&) non OU (||) –
Mark était plus rapide. – Phiter
* "J'ai essayé beaucoup de choses mais chaque fois que j'en ai l'occasion, si l'un de ces cookies existe toujours." * - Le mot clé ici est "ou" et votre code fonctionne exactement comme écrit. –