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

Langage PHP Discussion :

Probleme avec Internet Explorer et input image


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut Probleme avec Internet Explorer et input image
    Bonjour,

    actuellement je suis entrain de créer un site avec le multi langue (français et anglais).

    voici mon formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <form method="post" action="choix-langform.php">
     
     
        <input type="image" value="fr" name="langue" src="image/france.jpg" width="45" height="30" border="0">
     
        <input type="image" value="en" name="langue" src="image/anglais.jpg" width="45" height="30" border="0">
     
     
    </form>
    voici le fichier choix-langform.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    if($_POST['langue'] == 'fr')
    {
     $date_expiration = time() + 365*24*3600; // Un an !
     setcookie('langue', 'fr', $date_expiration); // On enregistre le cookie
     
     header('location: index.php'); // On lui remontre le site depuis l'index 
    }
    elseif($_POST['langue'] == 'en')
    {
     $date_expiration = time() + 365*24*3600;
     setcookie('langue', 'en', $date_expiration);
     
     header('location: index.php');
    }
    ?>
    Voici mon problème, en affichant mon formulaire avec des inputs images cela fonctionne avec firefox (j'arrive bien à afficher la langue souhaitée en cliquant sur l'une des images) mais pas avec IE.

    sous ie, j'obtiens comme erreur :

    Notice: Undefined index: langue in c:\program files\easyphp1-8\www\multilangue\choix-langform.php on line 3

    Notice: Undefined index: langue in c:\program files\easyphp1-8\www\multilangue\choix-langform.php on line 10
    j'ai essayé de rajouter des "isset" avant le $_POST['langue'] et j'obtiens comme erreur:
    Parse error: parse error, expecting `','' or `')'' in c:\program files\easyphp1-8\www\multilangue\choix-langform.php on line 3
    Apparemment il existe pas mal de problèmes avec les inputs images avec IE. J'ai essayé de testé les valeurs x et y de l'endroit ou l'utilisateur a cliqué en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    !empty($_POST["langue_x"]
    mais toujours le même problème.
    je ne sais plus quoi faire... c'est pourquoi je fais appel à vous ^^

    Merci par avance..

  2. #2
    Membre chevronné
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    Salut !

    Je ne pense pas que cela soit lié aux "inputs images", ni à pbm IE/Firefox. Cela tient à mon avis de ton code. Il te manque effectivement la vérification avec isset(), pour s'assurer que ta variable existe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(isset($_POST['langue']) AND $_POST['langue'] == 'fr')
    ...
    elseif(isset($_POST['langue']) AND $_POST['langue'] == 'en')
    Avec ça tu ne devrais plus avoir de message d'erreur !

    A+++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    merci d'avoir repondu.

    En effet j'ai plus de messages d'erreur sous ie mais j'obtiens une page blanche. il m'envoie sur la page choix-langform.php

    C'est comme si il prenait pas en compte ma redirection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('location: index.php');
    ca marche tjs bien sous firefox...

    j'avance petit a petit c'est cool ^^

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 660
    Par défaut
    Internet Explorer ne transmet pas la valeur pour les type "image" des formulaire donc tu dois transmettre la valeur en passant par le nom comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form method="post" action="choix-langform.php">
     
     
        <input type="image" name="langue[fr]" src="image/france.jpg" width="45" height="30" border="0">
     
        <input type="image" name="langue[en]" src="image/anglais.jpg" width="45" height="30" border="0">
     
     
    </form>
    et ensuite tu récupères le choix comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    $choixLangue = NULL;
     
    if (isset($_POST['langue'])) {
        $cles = array_keys($_POST['langue']);
     
        if (in_array($cles[0], array('fr', 'en'))) { // vérification
            $langue = $cles[0];
        }
    }
     
    if (!isset($choixLangue)) {
        $choixLangue = 'fr'; // langue par défaut
    }
     
    $date_expiration = time() + 365 * 24 * 3600; // Un an !
    setcookie('langue', $langue, $date_expiration); // On enregistre le cookie
     
    header('Location: index.php'); // On lui remontre le site depuis l'index

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    je savais bien que c'est un probleme lié a Internet explorer et non au code.

    En tout cas Merci Mathieu, ca marche nickel. J'aurais jamais pensé a cette idée.


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

Discussions similaires

  1. [Joomla!] probleme avec internet explorer :(
    Par tkhchkhiche dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 29/12/2011, 14h43
  2. probleme avec Internet Explorer
    Par passion_info dans le forum Windows XP
    Réponses: 2
    Dernier message: 16/04/2009, 02h12
  3. Probleme avec Internet Explorer.
    Par Diaz06 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 21/07/2007, 11h50
  4. HELP : probleme avec internet explorer
    Par moggaby dans le forum Flash
    Réponses: 8
    Dernier message: 11/05/2007, 22h11
  5. problemes avec internet explorer
    Par mouna201 dans le forum IE
    Réponses: 3
    Dernier message: 04/01/2006, 12h07

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