IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Appliquer un event OnClick à des balises <img>


Sujet :

HTML

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Appliquer un event OnClick à des balises <img>
    Bonjour.
    Je ne suis pas sûr de si je doit poster ici ou dans la partie PHP.

    je créé un mini site internet pour en apprendre plus sur le HTML et le PHP et je veux pouvoir changer la langue du site.
    J'utilise pour ça HTTP_ACCEPT_LANGUAGE mais je veux aussi que l'utilisateur puisse changer la langue manuellement.
    Pour ça, j'ai incrusté des images et je leurs applique un event OnClick pour créer un cookie.
    Mon problème est que, peut importe l'image sur laquelle je clique, le cookie prend toujours la valeur du dernier event OnClick défini et je ne comprend pas pourquoi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <img id="langue1" src="<?php $image=affichageImage(4); echo $image; ?>"alt="Français" 
    	onclick="<?php setcookie('langue','fr',time()+360);?> window.location.href='acceuil.php' "/>
    <img id="langue2" src="<?php $image=affichageImage(5); echo $image; ?>"alt="Anglais"
    	onclick="<?php setcookie('langue','en',time()+360);?> window.location.href='acceuil.php' "/>
    <img id="langue3" src="<?php $image=affichageImage(6); echo $image; ?>"alt="Allemand"
    	onclick="<?php setcookie('langue','de',time()+360);?> window.location.href='acceuil.php' "/>
    Si vous avez une solution à mon problème je vous en serai reconnaissant. ^^
    Bonne journée

  2. #2
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Salut il me semble que tu n'est pas bien compris ce que représente javascript dans une page html ou soit tu n'a pas compris comment "parser" du html comme du JS via PHP dans une page.
    PHP écrit dans une page lors d'un "echo" ici tu n'a pas d'écho <?php setcookie ... ?> ici tu utilise pas js pour créer un cookie mais PHP dans un contexte d'exécution Javascript "a l'intérieur d'un événement onclick soit du js mais tu essaye de créer un cookie en PHP hors contexte, car il me semble que tu créer des cookies : le premier puis le suivant lors de l’exécution de ta page pour arrivé à la fin de l'exécution a toujours obtenir le cookie langue en allemand car il est le dernier dans la liste d'exécution PHP (procédurale oblige).

    Le mieux serait de respecter le contexte d’exécution dans lequel tu te trouve : (petit essai a adapter a ton contexte)

    setcookie c'est PHP document.cookie c'est JS
    soit : document.cookie = "langue=fr; expires=dateUTC"; https://www.w3schools.com/js/js_cookies.asp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <img id="langue1" src="<?php $image=affichageImage(4); echo $image; ?>"alt="Français"
         onclick='document.cookie="<?php echo "langue=fr; expires=" . (time()+360); ?>"; window.location.href="acceuil.php"'/>
    <img id="langue2" src="<?php $image=affichageImage(5); echo $image; ?>"alt="Anglais"
         onclick='document.cookie="<?php echo "langue=en; expires=" . (time()+360); ?>"; window.location.href="acceuil.php"'/>
    <img id="langue3" src="<?php $image=affichageImage(6); echo $image; ?>"alt="Allemand"
         onclick='document.cookie="<?php echo "langue=de; expires=" . (time()+360); ?>"; window.location.href="acceuil.php"'/>

  3. #3
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Le code PHP est exécuté sur le serveur et le résultat est envoyé au navigateur. Donc les 3 "setcookie" sont lancé à ce moment.
    Et ensuite c'est dans le navigateur que le code JavaScript est exécuté.

    Pour envoyer des données de JavaScript vers PHP, vous aurez peut-être besoin d'AJAX :
    https://javascript.developpez.com/fa...#ajax.acronyme

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup pour vos réponses. Après avoir chercher une autre solution j'ai finalement appliquer mes images à des boutons pour récupérer les valeurs via la méthode post.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème récupération texte dans des balises HTML
    Par stansoad0108 dans le forum Langage
    Réponses: 20
    Dernier message: 24/06/2008, 15h55
  2. Problème de recherche dans des balises XML
    Par mbhfr06 dans le forum Langage
    Réponses: 2
    Dernier message: 26/08/2007, 11h26
  3. Problème de coordonnées dans des balises
    Par Zebulon777 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 06/02/2007, 07h26
  4. [AJAX] Traitement des balises html
    Par Mysti¢ dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 13/08/2006, 22h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo