Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/01/2011, 22h28   #1
Membre à l'essai
 
yoni
Inscription : février 2010
Messages : 110
Détails du profil
Informations personnelles :
Nom : yoni

Informations forums :
Inscription : février 2010
Messages : 110
Points : 22
Points : 22
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 :
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
boubz013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 22h48   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
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 : 951
Points : 1 063
Points : 1 063
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..
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 23h17   #3
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

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

Le code ci-dessous fonctionne.

Contenu du fichier cookie.txt
Code :
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'];
?>
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 20h16   #4
Membre à l'essai
 
yoni
Inscription : février 2010
Messages : 110
Détails du profil
Informations personnelles :
Nom : yoni

Informations forums :
Inscription : février 2010
Messages : 110
Points : 22
Points : 22
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
boubz013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 21h23   #5
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
La différence c'est surtout l'utilisation de file() et de foreach().

Je replace le code et cette fois-ci... commenté.
Code :
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
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 11h47   #6
Futur Membre du Club
 
Inscription : mai 2010
Messages : 50
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 50
Points : 18
Points : 18
Pourquoi ne pas faire plus simplement un fichier php avec un array contenant les valeurs du cookie ?
julien731 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h28.


 
 
 
 
Partenaires

Hébergement Web