Bonjour,

Un ami me demande de l'aider pour un problème, mais je ne trouve pas la solution.

Il a un site : http://tresorsdasie.net/index.php

Sur un écran normal, ça fonctionne bien, sur un smartphone, quand on clique sur une autre langue (par exemple FR), il obtient ce message :

Notice: Undefined index: langue in /home/tresorsdbl/www/php/changer_langue.php on line 6
J'ai remarqué que le script ne s'exécute pas, l'url me montre : au lieu de l'exécuter.

EDIT : le problème viendrait d'ici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<form class="navbar-form navbar-right hidden-xs" role="search">
            <div class="form-group">
                <form action="php/changer_langue.php" method="post">
                  <input class=" btn btn-default" type="button" id="btn_fr" name="fr" value="FR">
                  <input class="btn btn-default" type="button" name="de" id="btn_de" value="DE">
                </form>
            </div>
          </form>
Il semblerait que bootstrap utilise le form du dessus et en écran normal, le form intérieur. J'ai essayé de fusionner comme ceci, mais sans succès :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<form action="php/changer_langue.php" method="post" class="navbar-form navbar-right hidden-xs" role="search">
            <div class="form-group">
 
                  <input class=" btn btn-default" type="button" id="btn_fr" name="fr" value="FR">
                  <input class="btn btn-default" type="button" name="de" id="btn_de" value="DE">
 
            </div>
          </form>
Le code est minimaliste :

JS:

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
19
20
21
22
23
24
25
26
27
28
29
30
31
$(document).ready(function()
{
    $('#btn_fr, #btn_de').on('click',function()
    {
        var CheminComplet = document.location.href;
        var CheminRepertoire  = CheminComplet.substring( 0 ,CheminComplet.lastIndexOf( "/" ) );
        var NomDuFichier     = CheminComplet.substring(CheminComplet.lastIndexOf( "/" )+1 );
 
        var langue = $(this).val();
 
        $.ajax(
        {
            type: 'POST',
            url: 'php/changer_langue.php',
            data:
            {
                'langue':langue
            },
            dataType: 'text',
            success:function(callback)
            {
                console.log(callback);
                location.reload(CheminComplet+'?langue="'+callback+'"') ;
 
            }
 
        });
    }
    );
 
});
php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<?php
    session_start();
    error_reporting(E_ALL);
    ini_set('display_errors', 1);   
 
    $_SESSION['langue'] = $_POST['langue'];
    
    
?>
Merci d'avance pour l'aide.