IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi d'un cookie


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut Envoi d'un cookie
    Bonjour,

    j'essaie d'envoyer un cookie (je ne l'ai encore jamais fait), mais quand je le fais, j'obtiens le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: Cannot modify header information - headers already sent by (output started at /mnt/163/sda/2/6/laurentschmitt18/sitesidentifier/topic/action_seconnecter.php:10) in /mnt/163/sda/2/6/laurentschmitt18/sitesidentifier/topic/action_seconnecter.php on line 97
    . Quel est le problème dans mon code que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($_COOKIE["connecte"]=="true")
        echo "Vous êtes déjà connecté";
    else	
       setcookie("connecte","true",time()+2678400);
    ?

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    La fonction setcookie envoie un en-tête, elle doit donc être appelée avant tout envoi d'en-têtes, c'est-à-dire un affichage ou un <head>. A priori, vu le message d'erreur, tu as quelque chose à la ligne 10 de ton fichier qui envoie un en-tête. A toi de voir...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    OK, mais encore un souci avec les cookies : dans la fonction "sedeconnecter.php", je fais tout au début
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php setcookie("connecte","false",time()+2678400); ?>
    et dans la fonction "action_seconnecter.php" (qui est appelée lors d'une connection), tout au début aussi, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if ($_COOKIE["connecte"]!="false") setcookie("connecte","true",time()+2678400);?>
    , pourtant si après m'être déconnecté, je refais "se connecter", il me dit que je le suis déjà ! Où est le problème ?

  4. #4
    Membre chevronné Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Par défaut
    Salut,

    Dans ton code, tu changes le 2ème paramètre de la fonction "setcookie", or celui-ci correspond à la valeur du cookie. Donc tu ne le désactives pas.

    Pour s'assurer que le cookie ne sera plus valide il faut spécifier une date d'expiration antérieur à la date actuelle.

    Donc par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if ($_COOKIE["connecte"]!="false") setcookie("connecte","true",time()-100);?>

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Merci pour ta réponse ; en fait pour que ça marche, j'ai mis en tête de "sedeconnecter.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie("connecte","true",time()-100);?>
    et en tête de "action_seconnecter.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php setcookie("connecte","true",time()+2678400); ?>
    , mais autre question, complètement hors sujet : quand je fais "se connecter", on a en fait un formulaire html qui demande le login et le mot de passe, et quand on a rentré le login, il propose par défaut le bon mot de passe : comment puis-je éviter ce comportement peu souhaitable ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. envoi d'un cookie en milieu de page
    Par laurentSc dans le forum Langage
    Réponses: 39
    Dernier message: 21/12/2009, 19h01
  2. [cURL] Réception et envoi de cookies
    Par alex.hitman dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 29/09/2008, 11h00
  3. Réponses: 10
    Dernier message: 09/09/2007, 18h41
  4. [Cookies] Problème envoi de cookies
    Par Jiraiya42 dans le forum Langage
    Réponses: 10
    Dernier message: 27/10/2006, 22h52
  5. [Cookies] Probleme d'envoie de cookie
    Par pNk dans le forum Langage
    Réponses: 2
    Dernier message: 07/09/2005, 18h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo