Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
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 09/08/2011, 14h23   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 67
Points : 13
Points : 13
Par défaut reconnaitre les visiteurs

Bonjour,

Je vous ai écrit il y a peu de temps pour savoir comment changer ma CSS à chaque visite. Votre aide a été précieuse, et voici le code avec lequel ça a fonctionné:
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
<?php 
$monnouveautheme='style2.css';
$monnouveautheme2='style3.css';
// Duree de vie de mon cookie, presque 6 mois par exemple :
$expire = (6*30*24*3600);
 
// Je zieute combien de fois mon visiteur est venu, s'il a un "theme" css defini :
if(isset($_COOKIE['nb_visite'])){ 
$nb_visite = $_COOKIE['nb_visite'];
$themecss = $_COOKIE['themecss'];
} else {
// S'il n'est jamais venu je lui en assigne un de base :	
$nb_visite = 0;
$themecss= 'style.css';
setcookie("themecss","style.css", time()+$expire, "/");
}
$nb_visite=($nb_visite+1);
setcookie("nb_visite",$nb_visite, time()+$expire, "/");
// Toutes les 3 visites tu changes le theme :
if ($nb_visite%3==1) { 
// tu inseres ici un code pour determiner ton nouveau theme css
setcookie("themecss",$monnouveautheme, time()+$expire, "/");
$themecss=$monnouveautheme;
}
  elseif ($nb_visite%3==2) { 
  setcookie("themecss",$monnouveautheme2, time()+$expire, "/");
$themecss=$monnouveautheme2;
}
 else { 
$themecss= 'style.css';
setcookie("themecss","style.css", time()+$expire, "/");
 }
 
    }
?>
Donc ceci me change bien la CSS à chaque visite et grâce à vos explications, j'arrive à le modifier à ma guise. Seulement, la CSS n'est pas gardée d'une page à l'autre sur le site. A chaque nouvelle page, une nouvelle CSS est chargée.
Comment faire pour garder la même CSS sur tout le site?
Je pense qu'il faut faire quelque chose avec les sessions...
J'ai testé en ajoutant ça au début du code:
Code :
1
2
3
4
5
6
7
<?php 
$SID = session_id(); 
if(empty($SID)){ session_start(); }
else
{ 
 
?>
Mais ça ne fonctionne pas.
Auriez-vous des conseils?
thecaco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 14h44   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
sessions ou cookie ?

Tu as bien mis le thème css dans un cookie ?
Donc, cookie : $_COOKIE['themecss'];
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 15h05   #3
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 67
Points : 13
Points : 13
Pourtant ceci est déjà dans le code:
Code :
1
2
3
4
// Je zieute combien de fois mon visiteur est venu, s'il a un "theme" css defini :
if(isset($_COOKIE['nb_visite'])){ 
$nb_visite = $_COOKIE['nb_visite'];
$themecss = $_COOKIE['themecss'];
Je pensais que cette partie était faite pour justement garder la même css, mais ça ne marche pas....
thecaco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 15h17   #4
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Donc, tu peux afficher le bon thème :
Code :
	<link type="text/css" rel="stylesheet" media="all" href="../css/<?php echo $_COOKIE['themecss']; ?>" />
Ah oui, j'ai vu !
il faut mettre/ajouter à la fin de ton code :
Code :
$themecss = $_COOKIE['themecss'];
(pour récupérer le nouveau css)
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 16h02   #5
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 67
Points : 13
Points : 13
Je déprime. Je vais de questionnement en questionnement.

Maintenant, lorsque je vais de la page d'accueil à la 2ème page, ça fonctionne. Mais de la 2ème page à la 3ème page, ça me change à nouveau la CSS.
Pourtant la 2ème et 3ème page ont le même code pour appeler la CSS...
thecaco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 16h16   #6
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Je crois que tu as un problème dans la conception du code.

1/ RELIS tes codes, et mets des COMMENTAIRES pour chaque action -> tu comprendras mieux le déroulement du code, ok ?
2/ Dis-nous (et affiche) exactement quels sont les codes que tu mets dans tes pages (index ? et autres pages) ?
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 17h18   #7
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 67
Points : 13
Points : 13
Je relis mes codes, et je crois que je m'embrouille à force.
Voilà mes codes commentés, j'espère bien les comprendre.
Page d'accueil, index.php
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 
// Je définie mes différents thèmes
$monnouveautheme='stationweb2.css';
$monnouveautheme2='stationweb3.css';
// Duree de vie de mon cookie, presque 6 mois par exemple :
$expire = (6*30*24*3600);
 
// Je regarde si mon visiteur est déjà venu, et je lui attribue la css correspondante
if(isset($_COOKIE['nb_visite'])){ 
$nb_visite = $_COOKIE['nb_visite'];
} else {
// S'il n'est jamais venu je lui assigne la css de base :	
$nb_visite = 0;
$themecss= 'stationweb.css';
setcookie("themecss","stationweb.css", time()+$expire, "/");
}
//Pour chaque visite j'augmente le cookie de 1
$nb_visite=($nb_visite+1);
setcookie("nb_visite",$nb_visite, time()+$expire, "/");
// Si c'est la deuxième visite  
if ($nb_visite%3==1) { 
// Je détermine le nouveau theme css assigné au cookie
setcookie("themecss",$monnouveautheme, time()+$expire, "/");
$themecss=$monnouveautheme;
}
//Si c'est la 3ème visite, je détermine le 3ème thème
  elseif ($nb_visite%3==2) { 
  setcookie("themecss",$monnouveautheme2, time()+$expire, "/");
$themecss=$monnouveautheme2;
}
//Sinon, je mets la CSS de base
 else { 
$themecss= 'stationweb.css';
setcookie("themecss","stationweb.css", time()+$expire, "/");
//Je précise que le thème dépend du cookie
$themecss = $_COOKIE['themecss'];
 }
 
?>
<!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" />
<link rel="stylesheet" type="text/css" media="screen,projection" href="<?php echo  $themecss; ?>"><!-- fin de header -->
 
<title>Contact</title>
</head>
Là il me semble que je définie 2 fois la CSS de base, non? Une fois au début et une fois à la fin. Est-ce normal? Ou bien je me suis trompée quelque part.

Et pour mes autres pages, je leur ai mis à toute la même chose, sauf que j'appelle la CSS différement.
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
49
 
<?php 
// Je définie mes différents thèmes
$monnouveautheme='stationweb2.css';
$monnouveautheme2='stationweb3.css';
// Duree de vie de mon cookie, presque 6 mois par exemple :
$expire = (6*30*24*3600);
 
// Je regarde si mon visiteur est déjà venu, et je lui attribue la css correspondante
if(isset($_COOKIE['nb_visite'])){ 
$nb_visite = $_COOKIE['nb_visite'];
} else {
// S'il n'est jamais venu je lui assigne la css de base :	
$nb_visite = 0;
$themecss= 'stationweb.css';
setcookie("themecss","stationweb.css", time()+$expire, "/");
}
//Pour chaque visite j'augmente le cookie de 1
$nb_visite=($nb_visite+1);
setcookie("nb_visite",$nb_visite, time()+$expire, "/");
// Si c'est la deuxième visite  
if ($nb_visite%3==1) { 
// Je détermine le nouveau theme css assigné au cookie
setcookie("themecss",$monnouveautheme, time()+$expire, "/");
$themecss=$monnouveautheme;
}
//Si c'est la 3ème visite, je détermine le 3ème thème
  elseif ($nb_visite%3==2) { 
  setcookie("themecss",$monnouveautheme2, time()+$expire, "/");
$themecss=$monnouveautheme2;
}
//Sinon, je mets la CSS de base
 else { 
$themecss= 'stationweb.css';
setcookie("themecss","stationweb.css", time()+$expire, "/");
$themecss = $_COOKIE['themecss'];
 }
 
 
?>
<!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" />
	<link type="text/css" rel="stylesheet" media="all" href="<?php echo $_COOKIE['themecss']; ?>" />
 
<!-- fin de header -->
<title>A propos</title>
</head>
thecaco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 17h38   #8
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Voila à quoi ca peut se résumer, une fois qu'on a :
- nommé "efficacement" les variables (ici, un array des thèmes, couplé au "modulo")
- ré-organisé "logiquement" 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
28
29
30
31
<?php 
// Duree de vie des cookies (6 mois)
$expire = (6*30*24*3600);
 
// NOMBRE de VISITES
if(isset($_COOKIE['nb_visite'])){
	// deja venu : on incremente
	$nb_visite = $_COOKIE['nb_visite'] + 1;
} else { // 1ere visite
	$nb_visite = 1;
}
// on crée/modifie le cookie "nb_visite"
setcookie("nb_visite",$nb_visite, time()+$expire, "/");
 
// THEMES : definition des différents thèmes
$themecss[0] = 'stationweb.css';
$themecss[1] = 'stationweb2.css';
$themecss[2] = 'stationweb3.css';
 
// CHOIX du THEME
// $nb_visite%3 prend 3 valeurs : 0,1 ou 2 ->  on en profite pour changer de theme
// Je détermine le nouveau theme css assigné au cookie
	setcookie("themecss",$themecss[$nb_visite%3], time()+$expire, "/");
}
?>
<!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" />
	<link rel="stylesheet" type="text/css" media="screen,projection" href="<?php echo $_COOKIE['themecss']; ?>">
</head>
Pour les autres pages (autres que accueil) -> la seule différence est qu'on N'incrémente PAS $nb_visite :
Code :
1
2
	// deja venu : on N'incremente PAS
	$nb_visite = $_COOKIE['nb_visite'];
Remarque : le fait d'incrémenter sur la page "accueil" suppose qu'on n'y revient pas !
Car si on y revient -> ca s'incrémente encore ! ...

Pour pallier cet inconvénient, on peut créer un cookie "visite_encours" (valable 1jour) et mettre sur TOUTES les PAGES :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
// NOMBRE de VISITES
if(isset($_COOKIE['nb_visite'])){
	// deja venu
	if(isset($_COOKIE['visite_encours'])){ // si visite en cours (valable 1 jour)
		$nb_visite = $_COOKIE['nb_visite'];// on N'incremente PAS
	} else {
		$nb_visite = $_COOKIE['nb_visite'] + 1; // on incremente
		setcookie("visite_encours",true, time()+3600, "/"); // valable 1 jour
	}
} else { // 1ere visite
	$nb_visite = 1;
}
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 23h07   #9
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Moi (j'ai déjà fait un compteur de visites), pour n'incrémenter qu'une seule fois, je regarde justement session_id(); et je n'incrémente que s'il a changé :
Code :
1
2
3
4
5
6
$sid = session_id();
if ($_SESSION['id']!=$sid) {
$_SESSION['id']=$sid;
$sid_change=1;
$sql="UPDATE visites SET compteur = compteur +1;";
...
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 15h42   #10
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 67
Points : 13
Points : 13
J'ai essayé le code proposé par jreaux62, mais il me donne une page blanche. Je relis le code, et je n'y trouve pas d'erreur de syntaxe. Et effectivement, il est clair et bien organisé.
Et que pensez-vous? Vaut-il mieux utiliser les cookies ou les sessions?
thecaco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 15h52   #11
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
Vaut-il mieux utiliser les cookies ou les sessions?
Si tu as le choix, il vaut mieux opter pour les sessions, car certains utilisateurs peuvent désactiver les cookies ; mais comme il faut mémoriser (par exemple, nb_visites), mets ça dans une table MySQL.
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 15h54   #12
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Euuuh ... si c'est mon code ci-dessus il s'arrête à la balise </head>...
A toi d'ajouter le contenu dans le <body>, non ?
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 15h57   #13
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
Euuuh ... si c'est mon code ci-dessus il s'arrête à la balise </head>...
A toi d'ajouter le contenu dans le <body>, non ?
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 16h01   #14
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 67
Points : 13
Points : 13
euh.... non. Je sais que je débute, mais je n'en suis pas à ce niveau là quand même!
thecaco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 16h11   #15
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Citation:
Envoyé par thecaco Voir le message
J'ai essayé le code proposé par jreaux62, mais il me donne une page blanche.
Compte tenu que ce code n'a absolument aucune influence sur l'affichage du contenu (il n'influe QUE sur le css), peux-tu nous montrer le code de ta page ?
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 16h35   #16
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 67
Points : 13
Points : 13
Le voici:
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
<?php 
// Duree de vie des cookies (6 mois)
$expire = (6*30*24*3600);
 
// NOMBRE de VISITES
if(isset($_COOKIE['nb_visite'])){
	// deja venu : on incremente
	$nb_visite = $_COOKIE['nb_visite'] + 1;
} else { // 1ere visite
	$nb_visite = 1;
}
// on crée/modifie le cookie "nb_visite"
setcookie("nb_visite",$nb_visite, time()+$expire, "/");
 
// THEMES : definition des différents thèmes
$themecss[0] = 'style.css';
$themecss[1] = 'style2.css';
$themecss[2] = 'style3.css';
 
// CHOIX du THEME
// $nb_visite%3 prend 3 valeurs : 0,1 ou 2 ->  on en profite pour changer de theme
// Je détermine le nouveau theme css assigné au cookie
	setcookie("themecss",$themecss[$nb_visite%3], time()+$expire, "/");
}
?>
<!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" />
	<link rel="stylesheet" type="text/css" media="screen,projection" href="<?php echo $_COOKIE['themecss']; ?>">
    <title>Accueil</title>
</head>
 
<body>
<div id="container">
		<div id="header"></div>
        <div id="content" class="clearfix">
		<div id="menu">
			<ul><li><a href="http://monsite.com/" class="current">Home</a></li>
            <li><a href="http://monsite.com/blog/">Blog</a></li>
			<li><a href="http://monsite.com/releases/">Albums</a></li>
        	<li><a href="http://monsite.com/category/videos/">Gallery</a></li>
        	<li><a href="http://monsite.com/about/">About</a></li>
			<li><a href="http://monsite.com/links/">Links</a></li>
            <li><a href="http://monsite.com/credits/">Credits</a></li>
			<li class="last"><a href="http://monsite.com/contact/">Contact</a></li></ul>
		</div>
 
Etc... Toute ma présentation.
 
<div class="headline">Get updates via RSS</div>
				<div class="blocktext">
				<p>Stay in tune with <a href="http://monsite.com/feed/">RSS feed</a><br />
                <a href="http://en.wikipedia.org/wiki/RSS" target="_blank">How to use RSS ?</a></p>
				</div>
 
		<br class="clear" /><br /><br />
 
	   	<!-- menuright -->     
<?php require_once(dirname(__FILE__)."/../include/menuright.php"); ?>
    <!-- fin de menuright -->
    </div>
</div>
<!-- fin du contenu -->
<!-- footer -->
<?php require_once(dirname(__FILE__)."/../include/footer.html"); ?>
<!-- fin de footer -->
Là je vous ai fait un abrégé de mon code de présentation. Mais il fonctionne très bien, et depuis un bon moment déjà.
J'ai mon site complet qui est en ligne, je souhaite juste ajouter ce code pour varier la CSS.
Donc OUI, je sais comment faire un site.
C'est pour le langage PHP que j'ai besoin d'aide.
thecaco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 18h06   #17
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
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
<?php 
// Duree de vie des cookies (6 mois)
$expire = (6*30*24*3600);
 
// NOMBRE de VISITES
if(isset($_COOKIE['nb_visite'])){
	// deja venu : on incremente
	$nb_visite = $_COOKIE['nb_visite'] + 1;
} else { // 1ere visite
	$nb_visite = 1;
}
// on crée/modifie le cookie "nb_visite"
setcookie("nb_visite",$nb_visite, time()+$expire, "/");
 
// THEMES : definition des différents thèmes
$themecss[0] = 'stationweb.css';
$themecss[1] = 'stationweb2.css';
$themecss[2] = 'stationweb3.css';
 
// CHOIX du THEME
// $nb_visite%3 prend 3 valeurs : 0,1 ou 2 ->  on en profite pour changer de theme
// Je détermine le nouveau theme css assigné au cookie
	setcookie("themecss",$themecss[$nb_visite%3], time()+$expire, "/");
?>
Un } en trop a la fin (juste avant ?>)

Comment se fait-il qu'il ne t'ait pas afficher le message d'erreur :
Citation:
Parse error: syntax error, unexpected '}' in /..............php on line ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 18h39   #18
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 67
Points : 13
Points : 13
Pourtant j'ai lu et relu à la recherche d'un ; manquant ou d'un }*en moins ou en trop....

Encore une fois: merci, tout fonctionne.
thecaco est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h15.


 
 
 
 
Partenaires

Hébergement Web