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 :

Erreur lors creation cookie


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 110
    Points : 55
    Points
    55
    Par défaut Erreur lors creation cookie
    Bonsoir,

    J'essaie de creer un cookie avec la commande php, le probléme c'est que lorsque je vérifie l'existance du cookie introuvable il n'existe pas ...

    EN realité j'utilise un fichier .txt dans lequel se trouve une serie de cookie de la forme

    name=la_valeur_du_cookie

    et j'aimerais creer tous les cookies qui se trouvent à l'interieur de mon fichier .txt

    Voici le code

    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
    <?php
    $path="/";
    $domaine=".domain.fr";
    $tab=array();
    $fichier=fopen("cookie.txt","r");
     
    $n=0;
    while (!feof($fichier))
    {
    	$lect=fgets($fichier);
    	$tab[]=$lect;
    	$n++;
    }
     
    for ($i=0;$i<$n-1;$i++)
    {
     
    	$pos_n=strpos($tab[$i],'=');
    	$name=substr($tab[$i],0,$pos_n);
     
    	$v=strstr($tab[$i],"=");
    	$value=substr($v,1);
     
    	setcookie($name, $value, time()+3600, $path, $domaine); 
    }
     
    ?>
    Merci

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    C'est tragique.

    Un coockie c'est un délicieux délice qui se mange dans le navigateur du client.
    Un fopen() en php s'execute sur le serveur.

    une révision s'impose, à moins que la lecture du manuel php suffise..

  3. #3
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    En fait, il veut juste créer plusieurs cookies en un coup.

    Le code ci-dessous fonctionne.

    Contenu du fichier cookie.txt
    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
    <?php
    if(!isset($_COOKIE['logged'])){
    	$path='/';
    	$domaine='.domain.fr'; // À adapter
    	$tab=array();
    	$fichier=dirname(__FILE__).DIRECTORY_SEPARATOR.'cookie.txt';
    	if((@file_exists($fichier))and($tab=@file($fichier))and(count($tab)>0)){
    		foreach($tab as $line){
    			$entry=explode('=',$line);
    			$name=trim($entry[0]);
    			$value=trim($entry[1]);
    			setcookie($name,$value,time()+3600,$path,$domaine);
    		}
    	}
    }else
    	echo $_COOKIE['logged'].'<br>'.$_COOKIE['nom'];
    ?>

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 110
    Points : 55
    Points
    55
    Par défaut
    Merci de votre aide Erika mais en réalité je ne saisie pas la majeur partie de votre code.

    C'est pourquoi je vous demande quelle est la différence entre votre code et le mien pourquoi le mien ne veut pas enregistrer les cookies quel est le probléme ?

    Merci

  5. #5
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    La différence c'est surtout l'utilisation de file() et de foreach().

    Je replace le code et cette fois-ci... commenté.
    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
    <?php
    if(!isset($_COOKIE['logged'])){
    	$path='/';
    	$domaine='.domain.fr'; // À adapter
    	$tab=array();
     
    	// On s'assure que la variable $fichier contient le chemin complet vers cookie.txt
    	$fichier=dirname(__FILE__).DIRECTORY_SEPARATOR.'cookie.txt';
     
    	/*	Si le fichier existe nous le lisons entièrement à l'aide de la fonction file()
    		Le résultat sera renvoyé sous forme de tableau dans la variable $tab
    
    			$tab[0] = première ligne
    			$tab[1] = deuxième ligne
    			etc...
    		*/
     
    	if((@file_exists($fichier))and($tab=@file($fichier))and(count($tab)>0)){
     
    		/*	Le fichier a bien été lu et n'était pas vide...
    			Nous pouvons passer en revue le tableau à l'aide de la commande foreach...
    		
    				Foreach est l'équivalent de :
    				
    				for ($i=0; i<=count($tab); $i++) {
    					$entry = $tab[i];
    				}
    
    			*/
     
    		foreach($tab as $line){
    			/*	Pour chaque élément ($ligne) du tableau, nous créons un tableau $entry :
    
    					$entry[0] = nom du cookie
    					$entry[1] = valeur du cookie
    
    				*/
    			$entry=explode('=',$line);
     
    			$name=trim($entry[0]);	// On supprime les éventuels espaces
    			$value=trim($entry[1]);	// Idem
     
    			setcookie($name,$value,time()+3600,$path,$domaine);
    		}
    	}
    }else
    	echo $_COOKIE['logged'].'<br>'.$_COOKIE['nom'];
    ?>
    En espérant que cette fois-ci ce sera plus clair

    PS : C'est Eric2A... et non erika

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    Pourquoi ne pas faire plus simplement un fichier php avec un array contenant les valeurs du cookie ?

Discussions similaires

  1. Erreur lors de la creation d'une base de donnees
    Par redabadache3 dans le forum Administration
    Réponses: 1
    Dernier message: 20/01/2008, 20h28
  2. Erreur lors de la creation de graphique RS
    Par caballero dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 27/07/2007, 11h58
  3. Erreur lors de la creation d'un db_link qui se connect comme SYS
    Par squallJ dans le forum Administration
    Réponses: 2
    Dernier message: 25/04/2007, 16h32
  4. [Cookies] Erreur lors de la création de Session ..
    Par Klimium dans le forum Langage
    Réponses: 6
    Dernier message: 07/10/2006, 16h40
  5. [SAX] erreur lors de la creation du XMLReader
    Par vir dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 19/08/2004, 02h12

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