Aller au contenu

Cherchez l'erreur ? php javascript cookies comment bien les mixer?


Sujets conseillés

Posté (modifié)

Bonjour bonjour chères experts du PHP et javascript,commençons par le contexte de ma question :

L'utilisateur se log , je récupère des données dans ma base sql et les ranges dans des variables de session. Pour l'une d'entre elle que je décompose j'en fait des cookie

<?php
$_SESSION['email'] = $email;
$sqllog = "SELECT * FROM tbl_user WHERE email = '$email'";
$reqlog = mysql_query($sqllog);
$data = mysql_fetch_array($reqlog);
$ido = explode("/",$data['practice']);
for ($i=0; $i<count($ido); $i++) {$_SESSION[$ido[$i]] = 1; setcookie('practice'.$i, $ido[$i]);}
header("location: member.php?id=".$id['id']);
?>

Dans la page member.php j'ai plein de petites images qui ne s'affiche seulement si certaines variables sont présentes et varie donc suivant les utilisateurs

<div  id="widebar">
<div id="widebar_content">
<div id="profile_photo"></div>
<img src="images/bmx.gif" alt="BMX" name="bmx" width="60" height="60" id="BMX" style="display: none;"/>
<img src="images/skate.gif" alt="skateboard" name="skateboard" width="60" height="60" id="Skateboard" style="display: none;"/>
<img src="images/roller.gif" alt="roller" name="roller" width="60" height="60" id="Roller" style="display: none;"/>
<img src="images/snowboard.gif" alt="snowboard" name="snowboard" width="60" height="60" id="Snowboard" style="display: none;"/>
<img src="images/ski.gif" alt="ski" name="ski" width="60" height="60" id="Ski" style="display: none;"/>
<img src="images/climb.gif" alt="climb" name="climb" width="60" height="60" id="Climb" style="display: none;"/>
<img src="images/surf.gif" alt="surf" name="surf" width="60" height="60" id="Surf" style="display: none;"/>
<img src="images/wakeboard.gif" alt="wakeboard" name="wakeboard" width="60" height="60" id="Wakeboard" style="display: none;"/>
<img src="images/kytesurf.gif" alt="kytesurf" name="kytesurf" width="60" height="60" id="Kytesurf" style="display: none;"/>
<img src="images/funboard.gif" alt="funboard" name="funboard" width="60" height="60" id="Funboard" style="display: none;"/>
<img src="images/skydive.gif" alt="skydive" name="skydive" width="60" height="60" id="Skydive" style="display: none;"/>
</div>
</div><!-- end #widebar -->
<?php
$sqlpractice = "SELECT practice FROM tbl_user WHERE email = '$email'";
$reqpractice = mysql_query($sqlpractice);
$member_practice = mysql_fetch_array($reqpractice);
$ido = explode("/",$member_practice['practice']);
for ($i=0; $i<count($ido); $i++) {
$member_practice = $ido[$i];
if (isset($_SESSION[$ido[$i]])){
?>
<script language="javascript">
for(var i=0; i<6; i++){
var member_practice = GetCookie(practice+i);
show(member_practice);
};
</script>
<?php
}};
?>

pour info la fonction show permet simplement de changer le "display" du div pour le passer de none à qqchose qui l'affiche

Bref ce code ne fonction pas pour moi pas plus que les autres solution que j'ai pu essayer en utilisant directement la variable PHP ... :nonono:

Ma requête est donc la suivante ...si quelqu'un à une petite suggestion ou simplement vois l'erreur dans mon code n'hésitez pas ! :thumbsup:

Modifié par Yohann73
Posté

Bon je peux me tromper mais le souci ne vient pas de l'appel en java script:

var member_practice = GetCookie(practice+i);

mais plutôt :

var member_practice = GetCookie('practice'+i);

Posté (modifié)

J'ai ajouté les guillemets autour de practice mais je n'ai toujours aucun affichage :dots: , le problème doit être ailleur ... merci quand même .

Modifié par Yohann73
Posté

PLus personne n'as d'idée sur ce sujet ? :whistling: Je vous relance car ça ne me parai pas être un problème compliqué il me faut juste un regard extérieur pour trouver l'erreur ... please help .... :(

Posté

J'ai finalement trouvé tout seul voila la solution adopté :

 <?php		   
$sqlpractice = "SELECT practice FROM tbl_user WHERE email = '$email'";
$reqpractice = mysql_query($sqlpractice);
$member_practice_ALL = mysql_fetch_array($reqpractice);
$ido = explode("/",$member_practice_ALL['practice']);
for ($i=0; $i<count($ido); $i++) {
if (isset($_SESSION[$ido[$i]])){
?>
<script language="javascript">
show("<?php echo $_SESSION[$ido[$i]]?>");
</script>
<?php
};};
?>

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...