Vérifier si les cookie son activé ou pas

Bonjour, est ce que ce code est bien pour vérifier si les cookie son activé ou pas ? :

<?php

setcookie('Cookie', $_SERVER["REMOTE_ADDR"], time() + 60);

if(empty($_COOKIE['Cookie'])) {
echo 'Désactivé';
}
else {
echo 'Activé';
}
?>

Merci

13 réponses

  • Votes
  • Date
  • Date décroissante
  1. essayes comme ça (je n'ai pas testé)

    <?php
    if(!isset($_GET['num'])){
    	//c'est la premiere fois
    	setcookie('Cookie', $_SERVER["REMOTE_ADDR"], time() + 60);//pose du cookie
    	header('Location:test_cookie.php?num=1');//on recharge la page, donc au rechargement le GET['num'] existera et serra egal à 1
    }else{
    	//ce n'est pas ma premiere fois donc on test si cookie activé ou pas
    	if(empty($_COOKIE['Cookie'])) {
    		echo 'Désactivé';
    	}
    	else {
    		echo 'Activé';
    	}
    }
    
    ?> 
    1. Bon alors, j'ai testé, ça fonctionne bien sauf que a la première visite ça marque Refusé car le Cookie ce créer pas avant la vérification..., comment faire pour créer le cookie avant la vérification en 1 seul page ?
      1. non ton code ne peux pas fonctionner, tu ne peux pas dans une même page poser un cookie et le lire

        il faut une première page qui pose le cookie, puis une autre qui ensuite va venir le lire (ce peux être la même mais après rechargement)

        exemple si ton script se nomme test_cookie.php

        <?php
        setcookie('Cookie', $_SERVER["REMOTE_ADDR"], time() + 60);//pose du cookie
        header('Location:test_cookie.php');//on recharge la page
        if(empty($_COOKIE['Cookie'])) {
        echo 'Désactivé';
        }
        else {
        echo 'Activé';
        }
        ?> 
        1. mon post est parti trop vite , tel quel mon script va boucler indéfiniment si coockie désactivé, donc il faut l'améliorer
          1. Oui mais comment faire pour que sa actualise seulement une fois ? Si cookie est désactivé on peux pas...
            1. Sa marche mais j'aimerais qu'il n'y est pas de ?num=1 après le .php, c'est possible qu'après me ?num=1, sa renvoi vers la page sans atribu ?
              1. je reviens

                le ?num=1 sert a savoir si c'est le premier affcichage de la page ou non

                tu pux mettre autre chose si tu veux

                tu peux aussi au lieu de echo "desactivé" ou echo " activé" mettre
                header('location:ta_page_activé.php');
                1. Ok, il est donc pas possible de garder le index.php ?