Code : Tout sélectionner
<?php
session_start();
$_SESSION['lang']='FR';
?>
Bah tu fait un lien standard avec une variable $_GET que tu pourras toujours enregistrer dans une variable de session si tu veuxBien,
Après quelques googlages je réponds moi même a ma question, et vous me direz si je me trompe mais apparement je ne peux faire :
<td><img class="Flag" src="pics/FR_Flag.png" alt="FR" onmouseover="Traduct('FR')" onclick = "<?php $_SESSION['lang'] = 'FR';?>"/></td>
<td><img class="Flag" src="pics/ENG_Flag.png" alt="ENG" onmouseover="Traduct('ENG')" onclick = "<?php $_SESSION['lang'] = 'ENG';?>"/></td>
<td><img class="Flag" src="pics/ESP_Flag.png" alt="ESP" onmouseover="Traduct('ESP')" onclick = "<?php $_SESSION['lang'] = 'ESP';?>"/></td>
<td><img class="Flag" src="pics/BR_Flag.png" alt="BR" onmouseover="Traduct('BR')" onclick = "<?php $_SESSION['lang'] = 'BR';?>"/></td>
car php remplace le code coté serveur par la valeur de la variable et ce avant le chargement de la page coté client donc, il est normal que je me retrouve toujours avec BR comme valeur,
Comment peut on palier simplement a ce probleme?
merci
<td><a href="<?php echo htmlspecialchars($_SERVER['PHP_SELF']).'?lang=FR'?>"><img class="Flag" src="pics/FR_Flag.png" alt="FR" onmouseover="Traduct('FR')" /></a></td>
//etc.
et dans ton code php
$_SESSION['lang'] = isset ($_SESSION['lang']) ? $_SESSION['lang'] : 'FR'; // ici FR est la langue par défaut
$_SESSION['lang'] = isset($_GET['lang'])? $_GET['lang'] : $_SESSION['lang'] ;($_SERVER['PHP_SELF']) //recupere le chemin du script php en cours
.'?lang=FR'?>"> //valeur lang affectée a FR <td><a href="<?php echo htmlspecialchars($_SERVER['PHP_SELF']).'?lang=ENG'?>"><img class="Flag" src="pics/ENG_Flag.png" alt="ENG" onmouseover="Traduct('ENG')" /></a></td>
<td><a href="<?php echo htmlspecialchars($_SERVER['PHP_SELF']).'?lang=ESP'?>"><img class="Flag" src="pics/ESP_Flag.png" alt="ESP" onmouseover="Traduct('ESP')" /></a></td>
<td><a href="<?php echo htmlspecialchars($_SERVER['PHP_SELF']).'?lang=BR'?>"><img class="Flag" src="pics/BR_Flag.png" alt="BR" onmouseover="Traduct('BR')" /></a></td>
mais j'ai toujours pas compris ( a quoi sert le premier "?")$_SESSION['lang'] = isset($_GET['lang'])? $_GET['lang'] : $_SESSION['lang'] //opérateur ternaire , si get lang a une valeur alors session lang prends la valeur de get lang sinon elle prends la valeur de session lang
Effectivement, il n'y a pas nécessairement d'intérêt. Une variable de session permet de garder sa valeur de pages en pages; mais si toutes tes pages ont une variable get pour indiquer la langue en cour, la variable de session n'est pas nécessaire dans ce cas.Bon je comprends a peu près la démarche, mais la variable ne va-t-elle pas passer par l'URL dans ce cas la? et du coup il n'y a pas d'intérêt d'utiliser une variable de session non? j'aurai pu le faire directement en variable get,
Merci
Olivier
<a href="toto.php?il=elle">lien</a>
le navigateur tentera d'afficher la page toto.php et affectera la valeur "elle" à la variable $_GET['il'];<a href="toto.php?il=elle&lui=fou">lien</a>
Commences par bien comprendre ce truc ensuite je te donnerai un peu plus de code pour passer les langues, les enregistrer dans un cookie, récupérer la langue préférée du visiteur pour l'afficher par défaut dès l'affichage de la première page etc. <tr>
<td>
<span>
<div>
<?php include("LeftSideMenu.php"); ?>
</div>
</span>
</td>
<td>
<div id="Content" >
<?php include("ChooseCV.php"); ?>
</div>
</td>
</tr>
LeftSideMenu.php
<div id="LeftSideMenu">
<div Class="SideElement">
<p>
<h1 class="FR"><a id="Experiences" href="" onmouseover= " window.location.href = document.getElementById("CVpart").getElementById('SagemCom')">Experiences</a></h1>
</p>
<h2><a id="SagemCom" >SagemCom</a></h2>
<h2><a id="Thales" >ThalesAvionics</a></h2>
<h2><a id="Schlumberger" >Schlumberger<a/></h2>
<h2><a id="RATP" >RATP</a></h2>
<h2><a id="AirCanada" >AirCanada</a></h2>
</div>
<div Class="SideElement">
<p>
<h1 class="FR"><a id="Competences">Competences</a></h1></p>
<h2>
<ul>
<li class="FR"><a id="Test">Test</a></li>
<li class="FR"><a id="Informatique">Informatique</a></li>
<li class="FR"><a id="Electronique">Electronique</a></li>
<li class="FR"><a id="Automatique">Automatique</a></li>
</ul>
</h2>
</div>
</div>
ChosseCV.php<?php
$_SESSION['lang'] = isset ($_SESSION['lang']) ? $_SESSION['lang'] : 'FR'; // ici FR est la langue par défaut
$_SESSION['lang'] = isset($_GET['lang'])? $_GET['lang'] : $_SESSION['lang'] ;
$lang = $_SESSION['lang'];
//print_r($_SESSION);
$CV_Lang['FR'] = '../cv/CV_FR.html';
$CV_Lang['ENG'] = '../cv/CV_ENG.html';
$CV_Lang['ESP'] = '../cv/CV_ESP.html';
$CV_Lang['BR'] = '../cv/CV_BR.html';
if(isset($_SESSION['lang']))
{
echo '<object id="CVPart" data=';
echo $CV_Lang[$lang];
echo ' type="text/html" />';
}
else
{
echo '<div id="Content"><object id="CVPart" data="../cv/CV_FR.html" type="text/html"/></div>';
}
?>
je suppose que la methode window.location.href = document.getElementById("CVpart").getElementById('SagemCom') n'est pas la bonne mais dans ce cas la par exemple je cherche a déplacer le scroll de l'objet html inserer dans le conteneur central de la page a l'ancre SagemCom et ce au passage de la souris sur le lien Experiences dans leftsidemenu.
<a href='#cible'>Aller vers l'ancre ayant l'id nommé cible</a>
<div id = "cible">...</div>