phsautreau
Messages postés40Date d'inscriptionlundi 13 février 2012StatutMembreDernière intervention18 avril 2014
-
28 févr. 2003 à 12:27
cs_Tortuegeniale
Messages postés1123Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention26 juin 2008
-
28 févr. 2003 à 21:26
Bonjour,
Je développe un site que je veux adaptable au mal voyant, cela signifie que j'ai créé une petite barre à l'instar de celle présenta lors de l'installation de certaines version de linux permettant de choisir une couleur de fond.
Pour ce faire (cf. code joint ci-dessous) il me parrait judicieux de lire un cookie sur l'ordinateur client. Si celui-ci n'existe pas, je le crée, à l'inverse je le charge et l'exploite.
Dans la phase d'exploitation je test si dans l'url une autre couleur ($nc pour nouvelle couleur) à été passée en paramètre.
Si telle n'est pas le cas je continue le programme.
Mais si telle est le cas alors je voudrais "l'enregistrer sur le poste client" puis l'esploiter.
Je dois donc recréer le cookie et je pense forcer la page à se recharger, mais c'est là que le bas blesse, car je n'arrive pas à le recréer sans essuyer différent messages d'erreur tous convergeant vers la même conclusion, cette parte de mon programme ne fonctionne pas.
Alors voici le code :
En premier lieu : index.php
<?
if($imcca){
// le cookie existe, on le charge
$coul= $imcca;
// on vérifie si une nouvelle couleur de fond a été envoyé
if (!empty($nc)){
// si c'est le cas on vérifie si la nouvelle couleur est différente de celle importée du cookie
if ($coul!=$nc){
// on la place dans la variable de couleur par défaut
$coul=$f;
setcookie("imcca",$coul,time+(86400*365),"/");
}
}
} else {
// le cookie n'existe pas, on le crée en lui attribuant une couleur par défaut
$coul="#FFDB9D";
setcookie("imcca",$coul,time+(86400*365),"/");
}
?>
<HTML>
<HEAD>
<TITLE>...</TITLE>
.......
</HEAD>
\">
----
<TD width=\"648\" valign=\"top\" align=\"center\">
<TABLE width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<!-- Entete de page -->
<? include \"./entete.php\"; ?>
<!-- Fin entete de page -->
<!-- Barre d'outils -->
<? include \"./toolbar.php\"; ?> <!-- Fin barre d'outils -->
(......)
</HTML>
et maintenant voici une ligne d'appel issue de toolbar.php :
cs_Tortuegeniale
Messages postés1123Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention26 juin 2008 28 févr. 2003 à 14:17
Salut
ton probleme est simple
sur un lien tu mets
OnClick= "<? setcookie("imcca","#DEFFFF",time+(86400*365),"/"); ?>"
mais c'est impossible parceque le cookie est généré avant que le header de la page soit envoyé (avant la 1ere balise html). En plus si ce code marcherai il serait exécuter au chargement de la page.
Ce ke tu dois faire c tout simplement a la place de ton lien faire une redirection du genre
navi.php?rub=blabla
dans ta page navi.php tu pourras comme tu en a envis créer ou annuler un cookie et ensuite tu inclus la page de la variable rub
include("$rub");
Voila
++
--> http://www.kame-house.org <--
La plus grosse base de données sur les dessins animés des années 80
Site gratuit et sans pub
je n'arrive toujours pas à détruire le cookie en cours pour le recréer avec le nouveau code couleur.
Question, donc :
Comment efface-t-on un cookie et le recrée-t-on (avec le même nom, la même durée avant expiration, etc.. mais bien sûr pas avec la même valeur ) dans la même page (index.php) sans se payer des message d'erreur ?
cs_Tortuegeniale
Messages postés1123Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention26 juin 2008 28 févr. 2003 à 21:26
pour éffacer un cookie tu doit entrer le meme code que pour le créer mais ne met aucune valeur dedans, ni aucune limite de temps, juste setcookie(nomducookie) et c tt
++
--> http://www.kame-house.org <--
La plus grosse base de données sur les dessins animés des années 80
Site gratuit et sans pub