Forums Développement Multimédia

Aller au contenu

[résolu] Duplication de cookie ✔

php cookie multiplication duplication CODE PHP MySQL

8 réponses à ce sujet

#1 XueFang

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 77 messages

Posté 18 October 2012 - 20:57 PM

:roi: Salut,

Voilà, pour un site contenant un lecteur mp3, j'aimerai retenir si le visiteur à cliqué sur le bouton "off" du lecteur mp3 en navigant d'une page à l'autre. Pour celà j'ai donc utilisé un cookie de cette manière:

setCookie("sound",'');

Sauf que cela ne fonctionne que sur une seule page apparemment, dès que l'adresse change d'un caractère, le navigateur internet va créer une autre occurence de ce cookie.. à la fin j'ai une multitude de cookie "sound" et donc mon mp3 ne s'arrête que sur les pages déjà visité et ou le visiteur aura cliqué sur le bouton off...les nouvelles pas le cookie sera dupliqué et remis sur "on".
Sur chaque page avant le html il y à cette ligne de code que je viens de vous copiez. J'imagine qu'il y à une astuce :?

Merki!

#2 Badwolf

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 667 messages

Posté 18 October 2012 - 22:30 PM

Hello

tu ne croies pas que les sessions seraient plus adaptées pour la navigation page par page ?
Haoooooooooooooooooooooooooooooooooooooooooooooou !!!

#3 XueFang

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 77 messages

Posté 18 October 2012 - 23:32 PM

Ah j'avais pas du tout pensé à ça, je faisais une fixette sur les cookies, merci je vais essayer ça plus tard ^^

#4 XueFang

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 77 messages

Posté 20 October 2012 - 23:36 PM

Alors j'ai essayé un long moment avec ta solution mais sans succès malheureusement :( Je me doute que je m'y suis mal prit.
En revanche j'ai trouvé une solution pour résoudre mon problème, c'est plutôt du colmatage mais je suis passé par jQuery


if( isset ($_COOKIE['sound']) ){

$sound = $_COOKIE['sound'];
echo "<script>$.cookie('sound', '$sound', { expires: 7 });</script>";


}else{

$sound = 'on';
echo "<script>$.cookie('sound', '$sound', { expires: 7 });</script>";

}
 


Allez savoir pourquoi si j'écris

setcookie('sound', $sound, time()+3600*24);

Le code reste toujours à lire la partie else et le cookie ne se créé jamais. Avec jQuery sa fonctionne très bien s'est instantané...
J'ai utilisé cette classe https://github.com/c...query.cookie.js que j'avais intégré précédemment pour un ancien projet dans mon framework, sa à fait l'affaire finalement.

#5 XueFang

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 77 messages

Posté 21 October 2012 - 00:19 AM

Bon j'ai rien dis, sa fonctionnai et puis c'est de nouveau un bordel totale :eusa_doh: bon sang les cookies sa ne peut pas être aussi compliqué que ça, c'est juste une sauvegarde, sa me fout les nerf :shock:

Edit: Bon en fait si sa fonctionne, simplement il faut juste recharger la page pour que le navigateur prenne en compte la modification du cookie, le navigateur garde l'ancien cookie en tête et ne tient pas compte de la mise à jour de celui ci. Il faut que je trouve une astuce.

#6 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2531 messages

Posté 21 October 2012 - 16:05 PM

Salut,

Je pense que tu devrais reconsidérer le conseil de Badwolf.

L'intérêt du cookie par rapport à la session est que lorsque le visiteur reviendra le lendemain tu pourras lire le cookie, alors que la session aura bien entendu disparue.

En revanche, pour conserver des données pendant une même visite, les sessions sont vraiment bien plus pratiques.

En reprenant ton code, ça donnerait :

<?php
session_start();
if( ! isset ($_SESSION['sound']) ) // si il n'y a pas de variable sound en session ...
{
        $_SESSION['sound'] = "on" ;
}
// et plus loin dans ta page, tu peux faire
if( $_SESSION['sound'] == "on" )
{
        echo "sound is ON" ;
}
else{
        echo "sound is OFF";
}
?>
 

"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#7 XueFang

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 77 messages

Posté 25 October 2012 - 10:39 AM

Je vais réessayer car c'est vraiment une misère, sa fonctionne pour stopper le lecteur mais si j'ai le malheur de recliquer sur le bouton c'est l'anarchie, sur une page le son va rester couper, sur d'autre sa aura bien prit en compte le fait que j'ai réactivé le son.
Il faut que je résolve ce problème coûte que coûte! Car après le son, je dois également faire une variable qui retiendra la langue sélectionné par le visiteur.

Merci pour votre aide, je me remet à plancher dessus!

#8 XueFang

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 77 messages

Posté 25 October 2012 - 11:44 AM

Ah bah ton code fonctionne du premier coup, pourtant mon code semblait similaire... il semblerait qu'une subtilité m'ai échappée.
Me reste à modifier la valeur de la variable au clic mais déjà manuellement ça semble fonctionner.

#9 XueFang

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 77 messages

Posté 27 October 2012 - 10:58 AM

Ça y est sa fonctionne parfaitement!
Merci Switcher and Badwolf!



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP