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 :

récupérer informations de $_COOKIE


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut récupérer informations de $_COOKIE
    Bonjour,

    Pour vous exposer la situation voilà ce que j'ai : 1.Formulaire > 2.Traitement formulaire+enregistrement des informations dans $_COOKIE, $_SESSION, > 3.Affichage des informations
    Je n'arrive pas à récupérer les valeurs de ma variable $_COOKIE, pourriez vous jeter un coup d’œil svp ?

    Voici mon code

    1.Formulaire (ex1.php)
    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
    <?php
    session_start();
    ?>
    <!DOCTYPE html>
     
    <head><title>Formulaire TP5 ex1</title>
    <!-- encodage des caractéres en UTF-8 pour prise en compte des accents -->
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link rel="stylesheet" type="text/css" href="style.css">
    </head>
     
    <body>
     
     
    <form id="myform" action="checkform.php" method="post">
     
    <label for="form_nom">Nom: </label>
    	<input type="text" name="nom"></input><br/>
     
    <label for="form_prenom">Prénom: </label>
    	<input type="text" name="prenom"></input><br/>
     
    <label for="form_mdp">Mot de passe: </label>
    	<input type="password" name="mdp"></input><br/>
     
    <label for="form_mdpc">Confirmer Mot de passe: </label>
    	<input type="password" name="mdpc"></input><br/>
     
    </p>
     
    <input type="reset" name="nom" value="Reset" action="">
     
    <input type="submit" name="submit" value="Valider" action=""></button>
    <br/>
     
     
     
     
    </body>
    </html>
    2.Traitement formulaire (checkform.php)
    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
    <?php
    session_start();
    ?>
     
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     
    <?php
     
     
        // Le nom est-il rempli ?
        if(empty($_POST['nom']))
        {
          $messagenom = '<br/>Renseigner le nom svp';
          echo $messagenom;
          $ischecked = 0;
        }
        else {
        	$ischecked = 1;
    		//$_COOKIE['nom'] = $_POST['nom'];
        }
     
     
    	// le prénom est-il remplie ?
    	$ischecked = 0;
        if(empty($_POST['prenom']))
        {
          $messageprenom = '<br/>Renseigner le prénom svp';
          echo $messageprenom;
          $ischecked = 0;
        }
        else {
        	$ischecked = 1;
    		//$_COOKIE['prenom'] = $_POST['prenom'];
        }
     
     
        // Le mot de passe est-il rempli ?
        if(empty($_POST['mdp']))
        {
          $messagepass = '<br/>Renseigner le pass svp';
          echo $messagepass;
          $ischecked = 0;
        }
        else {
        	$ischecked = 1;
        }
     
        // la confirmation du mot de passe est-elle remplie ?
        if(empty($_POST['mdpc']))
        {
          $messagepass2 = '<br/>Renseigner la confirmation de pass svp';
          echo $messagepass2;
          $ischecked = 0;
        }
     
        else {
        	$ischecked = 1;
        	//$value = 'Nom: '.$_POST['nom'].', Prénom: '.$_POST['prenom'];
        }
     
    if ($ischecked == 1) {
     
    		$_COOKIE['nom'] = $_POST['nom'];
    		$_COOKIE['prenom'] = $_POST['prenom'];
     
    		echo 'Informations dans Cookie: ';
    		echo '<br/>';
    		print_r ($_COOKIE);
     
    			echo '<br/><br/>';
     
    		$_SESSION['nom'] = $_POST['nom'];
    		$_SESSION['prenom'] = $_POST['prenom'];
     
    		echo 'Informations dans Session: ';
    		echo '<br/>';
    		print_r ($_SESSION);
     
     
    		echo '<br/><a href="http://localhost/tp php/tp5 re/other.php">lien</a>';
     
    }
     
    ?>
    3.Affichage des informations (other.php)
    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
    <?php
    session_start();
    ?>
     
     
    <?php
    echo '<p>Informations Cookie:</p>'; 
    print_r ($_COOKIE); //il ne m'affiche pas les informations de  $_COOKIE, seulement l'ID de la session PHP
     
    // rien ne s'affiche avec çà
    /*
    if (isset($_COOKIE['nom']) && $_COOKIE['nom'] == 'yes') {
      echo $_COOKIE['nom'];
    }
    */
     
     
    echo '<p>Informations sessions: </p>';
    print_r ($_SESSION); //il m'affiche bien les informations contenues dans la variables $_SESSION
     
    // rien ne s'affiche avec çà
    /*
    if (isset($_SESSION['nom']) && $_SESSION['nom'] == 'yes') {
      echo $_SESSION['nom'];
    }
    */
     
     
     
    echo '<p><a href="http://localhost/tp%20php/tp5 re/ex1.php">Retour formulaire</a></p>';
     
    echo '<input type="reset" name="nom" value="Reset formulaire">';
     
    echo '<p><input type="button" value="Supprimer cookies" action="delcookie.php"</input></p>';
     
     echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
     ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faut utiliser setcookie() pour définir un cookie
    http://php.net/manual/fr/function.setcookie.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    Ok j'ai donc modifié le fichier checkform.php avec setcookie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $value = 'Nom: '.$_POST['nom'].' | Prénom: '.$_POST['prenom'].' | Php Session:';
    		setcookie('mycookie', $value);
    Voici le fichier complet :

    2. checkform.php
    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
    <?php
    session_start();
    ?>
     
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     
    <?php
     
     
        // Le nom est-il rempli ?
        if(empty($_POST['nom']))
        {
          $messagenom = '<br/>Renseigner le nom svp';
          echo $messagenom;
          $ischecked = 0;
        }
        else {
        	$ischecked = 1;
    		//$_COOKIE['nom'] = $_POST['nom'];
        }
     
     
    	// le prénom est-il remplie ?
    	$ischecked = 0;
        if(empty($_POST['prenom']))
        {
          $messageprenom = '<br/>Renseigner le prénom svp';
          echo $messageprenom;
          $ischecked = 0;
        }
        else {
        	$ischecked = 1;
    		//$_COOKIE['prenom'] = $_POST['prenom'];
        }
     
     
        // Le mot de passe est-il rempli ?
        if(empty($_POST['mdp']))
        {
          $messagepass = '<br/>Renseigner le pass svp';
          echo $messagepass;
          $ischecked = 0;
        }
        else {
        	$ischecked = 1;
        }
     
        // la confirmation du mot de passe est-elle remplie ?
        if(empty($_POST['mdpc']))
        {
          $messagepass2 = '<br/>Renseigner la confirmation de pass svp';
          echo $messagepass2;
          $ischecked = 0;
        }
     
        else {
        	$ischecked = 1;
     
        }
     
    if ($ischecked == 1) {
     
    		/*
    		$_COOKIE['nom'] = $_POST['nom'];
    		$_COOKIE['prenom'] = $_POST['prenom'];
    		*/
    		$value = 'Nom: '.$_POST['nom'].' | Prénom: '.$_POST['prenom'].' | Php Session:';
    		setcookie('mycookie', $value);
     
     
    		echo 'Informations dans Cookie: ';
    		echo '<br/>';
    		print_r ($_COOKIE);
     
    			echo '<br/><br/>';
     
    		$_SESSION['nom'] = $_POST['nom'];
    		$_SESSION['prenom'] = $_POST['prenom'];
     
    		echo 'Informations dans Session: ';
    		echo '<br/>';
    		print_r ($_SESSION);
     
     
    		echo '<br/><a href="http://localhost/tp php/tp5 re/other.php">lien</a>';
     
    }
     
    ?>
    Mais je ne récupère toujours rien

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu ne peux pas accéder au cookie que tu viens de créer dans checkform.php, mais tu l'as bien dans other.php (ou n'importe quel page chargée après la création)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    çà me semble bizarre aussi mais je t'assure que j'y accède dans checkform.php mais pas dans other.php.

    voici les screens:

    checkform.php
    Nom : checkform.PNG
Affichages : 1299
Taille : 30,7 Ko

    other.php
    Nom : other.PNG
Affichages : 1334
Taille : 27,3 Ko

    Quand je dis que je ne récupère pas le cookie dans other.php, c'est à dire que je ne récupère pas les informations 'nom' et 'prénom' mais juste l'ID session.

  6. #6
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    Bonsoir,

    Je me permet de refaire un petit up du sujet car même en testant des changements de mon code dans tous les sens, je ne récupère toujours (dans mon cookie de la page other.php) que l'ID de session seulement

    Auriez vous une solution svp ?

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

Discussions similaires

  1. Récupérer informations systèmes
    Par PP(Team) dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 11/07/2007, 15h39
  2. récupérer informations machine
    Par youp_db dans le forum Windows
    Réponses: 1
    Dernier message: 02/07/2007, 16h25
  3. Réponses: 1
    Dernier message: 24/03/2007, 08h55
  4. Récupérer information de sécurité d'un fichier
    Par cyrilc dans le forum ASP.NET
    Réponses: 5
    Dernier message: 08/01/2007, 19h07
  5. Récupérer informations IP, ...
    Par jpdelx dans le forum ASP
    Réponses: 6
    Dernier message: 16/11/2003, 05h56

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