PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 29-01-2010 15:07:55

david7
Membre
Inscription : 05-06-2009
Messages : 87

comment faire une vérif si pas de cookie = valeur par défaut ?

salut a tous

Je souhaite faire un site multi-couleur (multi-feuille de style) mon code fonctionne bien, mais j'arrive pas a faire la verif suivante :
si PAS de cookie = feuille de style par defaut couleur_1.css ! mais.. la pour le moment : si PAS de cookie = aucune feuille de style sad

comment/ou faire la verif ? surtout comment la faire..

c'est pas faute de ne pas avoir lu le tuto de phpdebutant mais je suis new en php donc parfois hum limit limit... hmm

header.php (en include sur toutes les pages php du site)

<head>
  <link rel="stylesheet" type="text/css" href="/style/couleur_<?php echo $_COOKIE["couleur"]; ?>.css" /> (numéro de la feuille de style 1, 2 ou 3)
</head>

couleur.php (a la racine du site)

<?php

$value = $_GET["value"]; // le visiteur clic sur une des 3 couleurs disponible sur les pages du site ensuite je récup la variable 1, 2 ou 3 ici !

setcookie("couleur", $value, time()+365*24*3600); // 1 an

header("location: http://www.monsite.com");

?>

par ailleurs, avez vous des suggestions sur l'ensemble du code ? merci pour vos conseil.

Hors ligne

#2 29-01-2010 16:48:28

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : comment faire une vérif si pas de cookie = valeur par défaut ?

<?php
//Si le cookie existe on récupère sa valeur, sinon on met la valeur par defaut
$css_couleur = ( isSet($_COOKIE['couleur']) )? $_COOKIE['couleur'] : "couleur_1";
?>
<head>
  <link rel="stylesheet" type="text/css" href="/style/couleur_<?php echo $css_couleur; ?>.css" />
</head>

Comme cela. ^^

Dernière modification par xTG (29-01-2010 16:49:03)

Hors ligne

#3 29-01-2010 17:40:32

david7
Membre
Inscription : 05-06-2009
Messages : 87

Re : comment faire une vérif si pas de cookie = valeur par défaut ?

merci
c'est quoi le "?" au millieu ?
je met le code sur toute mes pages ? enfin en haut de la page header.php

Hors ligne

#4 30-01-2010 07:23:48

david7
Membre
Inscription : 05-06-2009
Messages : 87

Re : comment faire une vérif si pas de cookie = valeur par défaut ?

?

Hors ligne

#5 30-01-2010 09:03:15

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : comment faire une vérif si pas de cookie = valeur par défaut ?

Ah excuse moi... L'habitude d'utiliser un peu trop les syntaxes raccourcies pour les affectations de variables...
En fait c'est un if. Cela correspond au code suivant :

if( isSet($_COOKIE['couleur']) )
{
  $css_couleur = $_COOKIE['couleur'];
}
else
{
  $css_couleur = "couleur_1";
}

Hors ligne

#6 30-01-2010 09:28:20

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : comment faire une vérif si pas de cookie = valeur par défaut ?

david7 a écrit :

c'est quoi le "?" au millieu ?

Il s'agit de l'opérateur ternaire, présent dans de nombreux langages.
Il est vrai qu'il n'est pas d'une lisibilité exemplaire, surtout pour un débutant.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 30-01-2010 09:50:41

david7
Membre
Inscription : 05-06-2009
Messages : 87

Re : comment faire une vérif si pas de cookie = valeur par défaut ?

ca marche merci
j'ai utilisé le 2eme code, celui ci :

<head>
  <title>titre</title>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<?php

if (isset($_COOKIE['couleur']))
{
  $css_couleur = $_COOKIE['couleur'];
}
else
{
  $css_couleur = "1";
}

?>
  <link rel="stylesheet" type="text/css" href="/style/couleur_<?php echo($css_couleur); ?>.css" />
</head>

Hors ligne

Pied de page des forums