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 :

PHP et cookies


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2012
    Messages : 109
    Points : 47
    Points
    47
    Par défaut PHP et cookies
    bonjour

    j'ai essayer de faire une page qui affiche un popup cet partie la marche
    mes j'ai essayer de mettre un code php pour que le popup s'affiche seulement la premier fois donc j'ai essayer de mettre des cookies mes ça ne marche pas

    et j’avoue que ce du chinois le code php pour les cookies

    comment faire pour que les cookies fonctionne et que ce code permettra de afficher seulement la premier fois le popup.

    voici mon code et merci de votre aide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
     
    <?php
    $contenu = '0'; // le contenu de votre cookie
    //setcookie("nom_cookie", $contenu, time()+36000); 
    // test l'existance d'un cookie apelé "nom_cookie"
    if (!isset($_COOKIE["nom_cookie"])){
    $_COOKIE["nom_cookie"] = "rien";
    }
     
     
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Document sans nom</title>
     
    <script language="javascript">
     
    function hideDiv() { //fonction pour fermer le popup
    <?php
    $_COOKIE["nom_cookie"] = "dejaouvert";
    ?>
    if (document.getElementById) { // DOM3 = IE5, NS6
    document.getElementById('hideshow').style.visibility = 'hidden';
    } else {
    if (document.layers) { // Netscape 4
    document.hideshow.visibility = 'hidden';
    } else { // IE 4
    document.all.hideshow.style.visibility = 'hidden';
    }
    }
    }
    function showDiv() { //fonction qui affiche le popup
     
    if (document.getElementById) { // DOM3 = IE5, NS6
    document.getElementById('hideshow').style.visibility = 'visible';
    } else {
    if (document.layers) { // Netscape 4
    document.hideshow.visibility = 'visible';
    } else { // IE 4
    document.all.hideshow.style.visibility = 'visible';
    }
    }
    }
    </script>
    <style type="text/css">
    body {
    }
    #hideshow {
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    }
    .popup_block {
    /* background:url(167985-capture.png);*/
    background: #369;
    padding:10px 120px; /*taille du popup*/
    border:1px solid #fff; /*taille de la bordure*/
    float:left;
    width:480px;
    position:fixed;
    top:20%; /*positionnement verticlale*/
    left:40%; /*positionnement horizontale*/
    margin:0 0 0 -250px;
    z-index:100;
    }
    .cntrl { /*image quitte le popup*/
    position:absolute;
    right:-10px;
    top:-5px;
    }
    .closeperso { /*image quitte le popup*/
    position:absolute;
    right:-20px;
    top:-20px;
    }
    * html #fade {
    position:absolute;
    top:expression(eval(document.compatMode && document.compatMode == 'CSS1Compat') ? documentElement.scrollTop : document.body.scrollTop );
    }
    * html .popup_block {
    position: absolute;
    top: expression(eval(document.compatMode && document.compatMode == 'CSS1Compat') ? documentElement.scrollTop + (( documentElement.clientHeight-this.clientHeight )/2 ) : document.body.scrollTop + (( document.body.clientHeight-this.clientHeight )/2 ) ) ;
    left: expression(eval(document.compatMode && document.compatMode == 'CSS1Compat') ? documentElement.scrollLeft + ( document.body.clientWidth/2 ) : document.body.scrollLeft + ( document.body.offsetWidth/2 ) );
    }
    </style>
    </head>
     
    <body>
     
    <script type="text/javascript">
     
                window.onload=function()   {
    <?php
    echo $_COOKIE["nom_cookie"];
    if ($_COOKIE["nom_cookie"] != "dejaouvert"){
    echo "showDiv();\n\r";
    }
    else
    {
    echo "showDiv();\n\r";
    }
    ?>
    		showDiv();
    			}
              </script>
    <a href="javascript:showDiv()">Cliquez moi pour voir la
    popup</a>
    <div id="hideshow" style="visibility: hidden;">
     
    <div id="fade"></div>
    <div class="popup_block"> <a href="javascript:hideDiv()"><img src="close.png" class="cntrl" height="50" width="50" /> </a>
    <h3>Inscrivez-vous à notre Newsletter</h3>
    <table border="0" cellpadding="3" width="471">
    <tbody>
    <tr>
    <td> <img src="newsletter.png" alt="NewsLetter de bert-achat.com" height="150" width="150" /> </td>
    <td>&nbsp;
    <form action="record_mail/recordmails.php" target="_blank" method="post" onsubmit="<?php echo $fonctiona;?>">
    <b> Votre E-Mail :</b><br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="email" id="email" size="50" type="text" /> <input name="mail" id="recordmail" value="Enregistrée." type="submit" />
    </form>
    </td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp; <small>
    J’accepte de recevoir des offres promotionnelles de vos partenaires
    </small> </td>
    </tr>
    </tbody>
    </table>
    </div>
    </div>
    <?php
    echo $_COOKIE["nom_cookie"];
    ?>
    </body>
    </html>

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Peut-être qu'avec un setcookie quelque part, ça marcherait mieux...

    En dehors de ça, ton code JavaScript est une abomination digne des années 90...
    Pour info, NS4 et IE4 ne sont plus beaucoup utilisés aujourd'hui...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2012
    Messages : 109
    Points : 47
    Points
    47
    Par défaut
    le setcookie je l'est mis depuis le debut

    et le probleme et toujours la.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
     
    <?php
    $contenu = '0'; // le contenu de votre cookie
    setcookie("nom_cookie", $contenu, time()+36000); 
    // test l'existance d'un cookie apelé "nom_cookie"
     
     
     
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Document sans nom</title>
     
    <script language="javascript">
     
    function hideDiv() { //fonction pour fermer le popup
    <?php
    $_COOKIE["nom_cookie"] = "dejaouvert";
    ?>
    if (document.getElementById) { // DOM3 = IE5, NS6
    document.getElementById('hideshow').style.visibility = 'hidden';
    } else {
    if (document.layers) { // Netscape 4
    document.hideshow.visibility = 'hidden';
    } else { // IE 4
    document.all.hideshow.style.visibility = 'hidden';
    }
    }
    }
    function showDiv() { //fonction qui affiche le popup
     
    if (document.getElementById) { // DOM3 = IE5, NS6
    document.getElementById('hideshow').style.visibility = 'visible';
    } else {
    if (document.layers) { // Netscape 4
    document.hideshow.visibility = 'visible';
    } else { // IE 4
    document.all.hideshow.style.visibility = 'visible';
    }
    }
    }
    </script>
    <style type="text/css">
    body {
    }
    #hideshow {
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    }
    .popup_block {
    /* background:url(167985-capture.png);*/
    background: #369;
    padding:10px 120px; /*taille du popup*/
    border:1px solid #fff; /*taille de la bordure*/
    float:left;
    width:480px;
    position:fixed;
    top:20%; /*positionnement verticlale*/
    left:40%; /*positionnement horizontale*/
    margin:0 0 0 -250px;
    z-index:100;
    }
    .cntrl { /*image quitte le popup*/
    position:absolute;
    right:-10px;
    top:-5px;
    }
    .closeperso { /*image quitte le popup*/
    position:absolute;
    right:-20px;
    top:-20px;
    }
    * html #fade {
    position:absolute;
    top:expression(eval(document.compatMode && document.compatMode == 'CSS1Compat') ? documentElement.scrollTop : document.body.scrollTop );
    }
    * html .popup_block {
    position: absolute;
    top: expression(eval(document.compatMode && document.compatMode == 'CSS1Compat') ? documentElement.scrollTop + (( documentElement.clientHeight-this.clientHeight )/2 ) : document.body.scrollTop + (( document.body.clientHeight-this.clientHeight )/2 ) ) ;
    left: expression(eval(document.compatMode && document.compatMode == 'CSS1Compat') ? documentElement.scrollLeft + ( document.body.clientWidth/2 ) : document.body.scrollLeft + ( document.body.offsetWidth/2 ) );
    }
    </style>
    </head>
     
    <body>
     
    <script type="text/javascript">
     
                window.onload=function()   {
    <?php
    echo $_COOKIE["nom_cookie"];
    if ($_COOKIE["nom_cookie"] != "dejaouvert"){
    echo "showDiv();\n\r";
    }
    else
    {
    //echo "showDiv();\n\r";
    }
    ?>
    		showDiv();
    			}
              </script>
    <a href="javascript:showDiv()">Cliquez moi pour voir la
    popup</a>
    <div id="hideshow" style="visibility: hidden;">
     
    <div id="fade"></div>
    <div class="popup_block"> <a href="javascript:hideDiv()"><img src="close.png" class="cntrl" height="50" width="50" /> </a>
    <h3>Inscrivez-vous à notre Newsletter</h3>
    <table border="0" cellpadding="3" width="471">
    <tbody>
    <tr>
    <td> <img src="newsletter.png" alt="NewsLetter de bert-achat.com" height="150" width="150" /> </td>
    <td>&nbsp;
    <form action="record_mail/recordmails.php" target="_blank" method="post" onsubmit="<?php echo $fonctiona;?>">
    <b> Votre E-Mail :</b><br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="email" id="email" size="50" type="text" /> <input name="mail" id="recordmail" value="Enregistrée." type="submit" />
    </form>
    </td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp; <small>
    J’accepte de recevoir des offres promotionnelles de vos partenaires
    </small> </td>
    </tr>
    </tbody>
    </table>
    </div>
    </div>
    <?php
    echo $_COOKIE["nom_cookie"];
    ?>
    </body>
    </html>

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    As-tu bien assimilé que le PHP ou le JavaScript écrivent dans le même cookie
    Seulement voilà le PHP ne peut le faire que lorsque tu entre dans la page PHP (sur le serveur) alors que le JavaScript peut le faire depuis ton HTML généré par le PHP.

    Il est lisible de suite. Alors que le PHP ne peut le lire que si tu recharges ta page !!!

    A++
    Christele

  5. #5
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    et j’avoue que ce du chinois le code php pour les cookies
    RTFM http://php.net/manual/fr/features.cookies.php

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Génial Christèle, je viens d'apprendre que les cookies, c'était pas réservé au PHP ; et je viens de coder un test où l'on écrit, puis lit un cookie en javascript ; concluant !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
     
      <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
      <title>test</title>
      <script>
      function setCookie(sName, sValue) {
            var today = new Date(), expires = new Date();
            expires.setTime(today.getTime() + (60*1000));
            document.cookie = sName + "=" + encodeURIComponent(sValue) + ";expires=" + expires.toGMTString();
    }
     
    function getCookie(sName) {
            var oRegex = new RegExp("(?:; )?" + sName + "=([^;]*);?");
     
            if (oRegex.test(document.cookie)) {
                    return decodeURIComponent(RegExp["$1"]);
            } else {
                    return null;
            }
    }
    </script>
     
     
    </head>
    <body>
     
    <script>
    setCookie('test_cookie', 'val_cookie_2');
    document.write("cookie="+getCookie('test_cookie'));
    </script> 
    </body>
    </html>
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

Discussions similaires

  1. Curl,php et cookie
    Par mickan dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 08/04/2015, 20h33
  2. php et cookies
    Par pjdebray dans le forum Langage
    Réponses: 1
    Dernier message: 19/03/2013, 18h52
  3. Sessions PHP ou cookie ?
    Par zibizibi2 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 07/01/2013, 13h12
  4. [Cookies] multi langue PHP avec cookie
    Par heteroclite dans le forum Langage
    Réponses: 25
    Dernier message: 22/05/2007, 14h11
  5. [Cookies] PHP et navigateurs ?
    Par jexl dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2005, 11h01

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